Heim  >  Artikel  >  Backend-Entwicklung  >  Schnelle Sortierung einer rekursiven PHP-Version

Schnelle Sortierung einer rekursiven PHP-Version

不言
不言Original
2018-04-16 10:25:531036Durchsuche

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!

Stellungnahme:
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
Vorheriger Artikel:Über PHP, das MySQL betreibtNächster Artikel:Über PHP, das MySQL betreibt