Heim > Artikel > Backend-Entwicklung > PHP implementiert den Merge-Sort-Algorithmus (Codebeispiel)
Merge Sort (auch Merge Sort genannt) ist ein Sortieralgorithmus, der auf dem O (n log n)-Vergleich basiert. Die meisten Implementierungen erzeugen eine stabile Sortierung, was bedeutet, dass die Implementierung die Eingabereihenfolge gleicher Elemente in der sortierten Ausgabe beibehält.
Jetzt stellen wir Ihnen vor, wie Sie PHP verwenden, um den Zusammenführungssortierungsalgorithmus zu implementieren.
PHP-Codebeispiel lautet wie folgt:
<?php function merge_sort($my_array){ if(count($my_array) == 1 ) return $my_array; $mid = count($my_array) / 2; $left = array_slice($my_array, 0, $mid); $right = array_slice($my_array, $mid); $left = merge_sort($left); $right = merge_sort($right); return merge($left, $right); } function merge($left, $right){ $res = array(); while (count($left) > 0 && count($right) > 0){ if($left[0] > $right[0]){ $res[] = $right[0]; $right = array_slice($right , 1); }else{ $res[] = $left[0]; $left = array_slice($left, 1); } } while (count($left) > 0){ $res[] = $left[0]; $left = array_slice($left, 1); } while (count($right) > 0){ $res[] = $right[0]; $right = array_slice($right, 1); } return $res; } $test_array = array(100, 54, 7, 2, 5, 4, 1); echo "原始数组 : "; echo implode(', ',$test_array ); echo "\n排序后数组:"; echo implode(', ',merge_sort($test_array))."\n";
Ausgabe:
原始数组 : 100, 54, 7, 2, 5, 4, 1 排序后数组:1, 2, 4, 5, 7, 54, 100
Einführung zugehöriger Funktionen:
array_slice() Funktion in Array Nimmt einen Wert basierend auf der Bedingung und gibt ihn zurück.
array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = FALSE ]] ) : array
array_slice() gibt eine Sequenz in dem durch die Offset- und Längenparameter angegebenen Array-Array zurück. Die Funktion
implode() wandelt den Wert eines eindimensionalen Arrays in einen String um.
Verwandte Empfehlungen: „PHP-Tutorial“
Dieser Artikel ist eine Einführung in die Methode zur Implementierung des Zusammenführungssortierungsalgorithmus in PHP. Ich hoffe, dass er für Freunde hilfreich sein wird in Not!
Das obige ist der detaillierte Inhalt vonPHP implementiert den Merge-Sort-Algorithmus (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!