Schnelle Sortierung einer rekursiven PHP-Version

不言
Freigeben: 2023-03-23 22:10:02
Original
1091 Leute haben es durchsucht

Dieser Artikel stellt die PHP-Implementierung der rekursiven Schnellsortierungsversion vor. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.

Beginnen Sie noch heute mit der Überprüfung des Algorithmus Am besten kenne ich mich damit aus, ich kann nicht einmal die Schnellwarteschlange schreiben, es ist mir so peinlich, dass ich den Code zur zukünftigen Verwendung posten werde

function qSort(array &$a, $low, $high)
{   
    if($low >= $high) {
        return;
    }
    $index = partition($a,$low,$high);
    qSort($a,$low,$index-1);
    qSort($a,$index+1,$high);
}
Nach dem Login kopieren
//元素相互赋值比交换效率
function partition(array &$a, $low, $high)
{
    $temp = $a[$low];
    while($low < $high) {
        while($low < $high && $a[$high] >= $temp) { 
            --$high;
        }   
        $a[$low] = $a[$high];
        while($low < $high && $a[$low] <= $temp) {
            ++$low;
        }   
        $a[$high] = $a[$low];
    }   
    $a[$low] = $temp;
    return $low;
}
Nach dem Login kopieren

$a = [0,20,7 ,-1,6,2,6 ,2,8,9,0,1];
qSort($a, 0, count($a) -1);

var_dump (implode(',', $a ));

Ergebnisanzeige: -1,0,0,1,2,2,6,6,7,8,9,20

Verwandte Empfehlungen:

Detaillierte Code-Erklärung, wie JavaScript die schnelle Sortierung implementiert

PHP-Algorithmus-Schnellsortierung

Das obige ist der detaillierte Inhalt vonSchnelle Sortierung einer rekursiven PHP-Version. 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