排序算法
-
冒泡排序
-
实现原理
① 首先将所有待排序的数字放入工作列表中。
② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。
③ 重复步骤②,直至再也不能交换。
-
代码实现
';<span style="color: #008080;"> 1</span> <span style="color: #000000;">php </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;">function</span> bubbingSort(<span style="color: #0000ff;">array</span> <span style="color: #800080;">$array</span><span style="color: #000000;">) </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">{ </span><span style="color: #008080;"> 4</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0, <span style="color: #800080;">$len</span>=<span style="color: #008080;">count</span>(<span style="color: #800080;">$array</span>)-1; <span style="color: #800080;">$i</span>$len; ++<span style="color: #800080;">$i</span><span style="color: #000000;">) </span><span style="color: #008080;"> 5</span> <span style="color: #000000;"> { </span><span style="color: #008080;"> 6</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$j</span>=<span style="color: #800080;">$len</span>; <span style="color: #800080;">$j</span>><span style="color: #800080;">$i</span>; --<span style="color: #800080;">$j</span><span style="color: #000000;">) </span><span style="color: #008080;"> 7</span> <span style="color: #000000;"> { </span><span style="color: #008080;"> 8</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span>] $array[<span style="color: #800080;">$j</span>-1<span style="color: #000000;">]) </span><span style="color: #008080;"> 9</span> <span style="color: #000000;"> { </span><span style="color: #008080;">10</span> <span style="color: #800080;">$temp</span> = <span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span><span style="color: #000000;">]; </span><span style="color: #008080;">11</span> <span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span>] = <span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span>-1<span style="color: #000000;">]; </span><span style="color: #008080;">12</span> <span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span>-1] = <span style="color: #800080;">$temp</span><span style="color: #000000;">; </span><span style="color: #008080;">13</span> <span style="color: #000000;"> } </span><span style="color: #008080;">14</span> <span style="color: #000000;"> } </span><span style="color: #008080;">15</span> <span style="color: #000000;"> } </span><span style="color: #008080;">16</span> <span style="color: #0000ff;">return</span> <span style="color: #800080;">$array</span><span style="color: #000000;">; </span><span style="color: #008080;">17</span> <span style="color: #000000;">} </span><span style="color: #008080;">18</span> <span style="color: #008080;">19</span> <span style="color: #0000ff;">print</span> '<pre class="brush:php;toolbar:false">'<span style="color: #000000;">; </span><span style="color: #008080;">20</span> <span style="color: #008080;">print_r</span>(bubbingSort(<span style="color: #0000ff;">array</span>(1,4,22,5,7,6,9<span style="color: #000000;">))); </span><span style="color: #008080;">21</span> <span style="color: #0000ff;">print</span> '
Nach dem Login kopieren
-
-
快速排序
-
实现原理
采用分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。
-
代码实现
';<span style="color: #008080;"> 1</span> <span style="color: #0000ff;">function</span> quickSort(<span style="color: #0000ff;">array</span> <span style="color: #800080;">$array</span><span style="color: #000000;">) </span><span style="color: #008080;"> 2</span> <span style="color: #000000;">{ </span><span style="color: #008080;"> 3</span> <span style="color: #800080;">$len</span> = <span style="color: #008080;">count</span>(<span style="color: #800080;">$array</span><span style="color: #000000;">); </span><span style="color: #008080;"> 4</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$len</span> ) <span style="color: #008080;"> 5</span> <span style="color: #000000;"> { </span><span style="color: #008080;"> 6</span> <span style="color: #0000ff;">return</span> <span style="color: #800080;">$array</span><span style="color: #000000;">; </span><span style="color: #008080;"> 7</span> <span style="color: #000000;"> } </span><span style="color: #008080;"> 8</span> <span style="color: #800080;">$key</span> = <span style="color: #800080;">$array</span>[0<span style="color: #000000;">]; </span><span style="color: #008080;"> 9</span> <span style="color: #800080;">$left</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(); </span><span style="color: #008080;">10</span> <span style="color: #800080;">$right</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(); </span><span style="color: #008080;">11</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=1; <span style="color: #800080;">$i</span>$len; ++<span style="color: #800080;">$i</span><span style="color: #000000;">) </span><span style="color: #008080;">12</span> <span style="color: #000000;"> { </span><span style="color: #008080;">13</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$array</span>[<span style="color: #800080;">$i</span>] $key<span style="color: #000000;">) </span><span style="color: #008080;">14</span> <span style="color: #000000;"> { </span><span style="color: #008080;">15</span> <span style="color: #800080;">$left</span>[] = <span style="color: #800080;">$array</span>[<span style="color: #800080;">$i</span><span style="color: #000000;">]; </span><span style="color: #008080;">16</span> <span style="color: #000000;"> } </span><span style="color: #008080;">17</span> <span style="color: #0000ff;">else</span> <span style="color: #008080;">18</span> <span style="color: #000000;"> { </span><span style="color: #008080;">19</span> <span style="color: #800080;">$right</span>[] = <span style="color: #800080;">$array</span>[<span style="color: #800080;">$i</span><span style="color: #000000;">]; </span><span style="color: #008080;">20</span> <span style="color: #000000;"> } </span><span style="color: #008080;">21</span> <span style="color: #000000;"> } </span><span style="color: #008080;">22</span> <span style="color: #800080;">$left</span> = quickSort(<span style="color: #800080;">$left</span><span style="color: #000000;">); </span><span style="color: #008080;">23</span> <span style="color: #800080;">$right</span> = quickSort(<span style="color: #800080;">$right</span><span style="color: #000000;">); </span><span style="color: #008080;">24</span> <span style="color: #0000ff;">return</span> <span style="color: #008080;">array_merge</span>(<span style="color: #800080;">$left</span>, <span style="color: #0000ff;">array</span>(<span style="color: #800080;">$key</span>), <span style="color: #800080;">$right</span><span style="color: #000000;">); </span><span style="color: #008080;">25</span> <span style="color: #000000;">} </span><span style="color: #008080;">26</span> <span style="color: #008080;">27</span> <span style="color: #0000ff;">print</span> '<pre class="brush:php;toolbar:false">'<span style="color: #000000;">; </span><span style="color: #008080;">28</span> <span style="color: #008080;">print_r</span>(quickSort(<span style="color: #0000ff;">array</span>(1,4,22,5,7,6,9<span style="color: #000000;">))); </span><span style="color: #008080;">29</span> <span style="color: #0000ff;">print</span> '
Nach dem Login kopieren
-

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



1. Hintergrund des Problems 1. Einführung in das zweiseitige Marktexperiment Der zweiseitige Markt, also eine Plattform, umfasst zwei Teilnehmer, Produzenten und Verbraucher, und beide Parteien fördern sich gegenseitig. Kuaishou hat beispielsweise einen Videoproduzenten und einen Videokonsumenten, und die beiden Identitäten können sich bis zu einem gewissen Grad überschneiden. Bilaterales Experiment ist eine experimentelle Methode, die Gruppen auf Produzenten- und Verbraucherseite vereint. Bilaterale Experimente haben folgende Vorteile: (1) Die Auswirkungen der neuen Strategie auf zwei Aspekte können gleichzeitig erfasst werden, beispielsweise Änderungen im Produkt-DAU und die Anzahl der Personen, die Werke hochladen. Bilaterale Plattformen haben oft netzwerkübergreifende Effekte, je mehr Leser es gibt, desto aktiver werden die Autoren sein, und je aktiver die Autoren sind, desto mehr Leser werden ihnen folgen. (2) Effektüberlauf und -übertragung können erkannt werden. (3) Helfen Sie uns, den Wirkungsmechanismus besser zu verstehen. Das AB-Experiment selbst kann uns nicht nur den Zusammenhang zwischen Ursache und Wirkung aufzeigen

Organisieren |. Nuka-Cola, Chu Es ist eine interessante Herausforderung und es gibt viele Möglichkeiten, sie zu meistern. Es wurde viel Zeit investiert, um herauszufinden, wie Sortieraufgaben effizienter erledigt werden können. Als Grundoperation sind Sortieralgorithmen in die Standardbibliotheken der meisten Programmiersprachen integriert. Es gibt viele verschiedene Sortiertechniken und Algorithmen, die in Codebasen auf der ganzen Welt verwendet werden, um große Datenmengen online zu organisieren, aber zumindest was die mit dem LLVM-Compiler verwendeten C++-Bibliotheken betrifft, hat sich der Sortiercode seit mehr als einem Jahr nicht geändert Jahrzehnt. Kürzlich hat das Google DeepMindAI-Team nun eine entwickelt

So filtern und sortieren Sie Daten in der Vue-Technologieentwicklung. In der Vue-Technologieentwicklung sind das Filtern und Sortieren von Daten sehr häufige und wichtige Funktionen. Durch Datenfilterung und -sortierung können wir die benötigten Informationen schnell abfragen und anzeigen und so die Benutzererfahrung verbessern. In diesem Artikel wird das Filtern und Sortieren von Daten in Vue vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Funktionen besser zu verstehen und zu verwenden. 1. Datenfilterung Datenfilterung bezieht sich auf das Herausfiltern von Daten, die den Anforderungen basierend auf bestimmten Bedingungen entsprechen. In Vue können wir comp bestehen

So implementieren Sie den Auswahlsortierungsalgorithmus in C#. Die Auswahlsortierung (SelectionSort) ist ein einfacher und intuitiver Sortieralgorithmus. Seine Grundidee besteht darin, jedes Mal das kleinste (oder größte) Element aus den zu sortierenden Elementen auszuwählen und am Ende einzufügen die sortierte Reihenfolge. Wiederholen Sie diesen Vorgang, bis alle Elemente sortiert sind. Erfahren Sie mehr darüber, wie Sie den Auswahlsortierungsalgorithmus in C# implementieren, zusammen mit spezifischen Codebeispielen. Erstellen einer Auswahlsortierungsmethode Zuerst müssen wir eine Methode zur Implementierung der Auswahlsortierung erstellen. Diese Methode akzeptiert a

Swoole ist ein leistungsstarkes Netzwerkkommunikations-Framework, das auf der PHP-Sprache basiert. Es unterstützt die Implementierung mehrerer asynchroner E/A-Modi und mehrerer erweiterter Netzwerkprotokolle. Basierend auf Swoole können wir seine Multithreading-Funktion nutzen, um effiziente Algorithmusoperationen zu implementieren, beispielsweise Hochgeschwindigkeits-Sortieralgorithmen. Der Hochgeschwindigkeits-Sortieralgorithmus (QuickSort) ist ein gängiger Sortieralgorithmus. Durch die Lokalisierung eines Benchmark-Elements werden die Elemente, die kleiner als das Benchmark-Element sind, auf der linken Seite platziert, und diejenigen, die größer oder gleich dem Benchmark sind Element werden auf der rechten Seite platziert. Dann werden die linke und die rechte Teilsequenzrekursion platziert

Array-Sortieralgorithmen werden verwendet, um Elemente in einer bestimmten Reihenfolge anzuordnen. Zu den gängigen Arten von Algorithmen gehören: Blasensortierung: Vertauschen Sie Positionen durch Vergleichen benachbarter Elemente. Auswahlsortierung: Finden Sie das kleinste Element und tauschen Sie es an die aktuelle Position aus. Einfügungssortierung: Elemente einzeln an der richtigen Position einfügen. Schnelle Sortierung: Divide-and-Conquer-Methode, wählen Sie das Pivot-Element aus, um das Array zu teilen. Zusammenführungssortierung: Teilen und Erobern, rekursives Sortieren und Zusammenführen von Unterarrays.

So verwenden Sie den Basissortieralgorithmus in C++. Der Basissortierungsalgorithmus ist ein nicht vergleichender Sortieralgorithmus, der die Sortierung durch Aufteilen der zu sortierenden Elemente in einen begrenzten Satz von Ziffern abschließt. In C++ können wir den Radix-Sortieralgorithmus verwenden, um eine Menge von Ganzzahlen zu sortieren. Im Folgenden besprechen wir anhand konkreter Codebeispiele ausführlich, wie der Basissortieralgorithmus implementiert wird. Algorithmusidee Die Idee des Radix-Sortieralgorithmus besteht darin, die zu sortierenden Elemente in einen begrenzten Satz digitaler Bits zu unterteilen und die Elemente dann nacheinander nach jedem Bit zu sortieren. Die Sortierung nach jedem Bit ist abgeschlossen

So implementieren Sie mit MySQL und Java eine einfache Sortieralgorithmusfunktion. Einführung: In der Softwareentwicklung gehören Sortieralgorithmen zu den grundlegendsten und am häufigsten verwendeten Funktionen. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Java eine einfache Sortieralgorithmusfunktion implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Übersicht über Sortieralgorithmen Sortieralgorithmen sind Algorithmen, die einen Datensatz nach bestimmten Regeln anordnen. Zu den häufig verwendeten Sortieralgorithmen gehören Blasensortierung, Einfügungssortierung, Auswahlsortierung, Schnellsortierung usw. In diesem Artikel wird die Blasensortierung als Beispiel zur Erläuterung und Implementierung verwendet. 2. M
