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); }
//元素相互赋值比交换效率 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; }
$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!