Wie implementiert man eine schnelle Sortierung in PHP?

藏色散人
Freigeben: 2023-04-05 13:38:01
Original
9363 Leute haben es durchsucht

Schnellsortierung ist eine Vergleichssortierung, was bedeutet, dass Elemente jeder Art sortiert werden können. Man kann sagen, dass die schnelle Sortierung eine Verbesserung der Blasensortierung darstellt.

Wie implementiert man eine schnelle Sortierung in PHP?

Das schematische Diagramm der Idee zur schnellen Sortierung lautet wie folgt:

Wie implementiert man eine schnelle Sortierung in PHP?

Hinweis: Die horizontale Linie ist die Pivot-Wert

Der Code des Schnellsortierungsalgorithmus lautet wie folgt:

<?php
function quick_sort($my_array)
{
    $loe = $gt = array();
    if(count($my_array) < 2)
    {
        return $my_array;
    }
    $pivot_key = key($my_array);
    $pivot = array_shift($my_array);
    foreach($my_array as $val)
    {
        if($val <= $pivot)
        {
            $loe[] = $val;
        }elseif ($val > $pivot)
        {
            $gt[] = $val;
        }
    }
    return array_merge(quick_sort($loe),array($pivot_key=>$pivot),quick_sort($gt));
}

$my_array = array(3, 0, 2, 5, -1, 4, 1);
echo &#39;原始数组 : &#39;.implode(&#39;,&#39;,$my_array).&#39;\n&#39;;
$my_array = quick_sort($my_array);
echo &#39;排序后数组 : &#39;.implode(&#39;,&#39;,$my_array);
Nach dem Login kopieren

Ausgabe:

原始数组:3,0,2,5,-1,4,1                             
排序后数组:-1,0,1,2,3,4,5
Nach dem Login kopieren

Einführung in die verwandte Funktion:

array_shift( )-Funktion verschiebt die Einheit am Anfang des Arrays aus dem Array;

array_shift ( array &$array ) : mixed
Nach dem Login kopieren

array_shift() verschiebt die erste Einheit des Arrays heraus und gibt sie als Ergebnis zurück, dekrementiert die Länge des Arrays um eins und verschiebt alle anderen Einheiten um eins nach vorne. Alle numerischen Tastennamen werden so geändert, dass sie ab Null zählen, und Texttastennamen bleiben unverändert. Die Funktion

array_merge() führt ein oder mehrere Arrays zusammen;

array_merge ( array $array1 [, array $... ] ) : array
Nach dem Login kopieren

array_merge() führt die Zellen eines oder mehrerer Arrays zusammen und die Werte in einem Array werden an das vorherige Array angehängt . . Gibt das resultierende Array zurück.

Dieser Artikel ist eine Einführung in den PHP-Schnellsortieralgorithmus. Ich hoffe, er wird Freunden in Not hilfreich sein!

Das obige ist der detaillierte Inhalt vonWie implementiert man eine schnelle Sortierung in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!