Wie implementiert man die Auswahlsortierung in PHP?

藏色散人
Freigeben: 2023-04-05 14:14:01
Original
3087 Leute haben es durchsucht

Auswahlsortierung ist eine Verbesserung gegenüber Blasensortierung, mit nur einem Durchgangswechsel pro Durchgang durch die Liste. Einfach ausgedrückt besteht das Prinzip der Auswahlsortierung darin, jedes Mal das kleinste (oder größte) Element aus den zu sortierenden Datenelementen auszuwählen und es am Anfang der Sequenz zu speichern, bis alle zu sortierenden Datenelemente erschöpft sind. Die Auswahlsortierung ist eine instabile Sortiermethode.

Wie implementiert man die Auswahlsortierung in PHP?

Das Codebeispiel für die PHP-Auswahlsortierung lautet wie folgt:

<?php

function selection_sort($data)
{
    for($i=0; $i<count($data)-1; $i++) {
        $min = $i;
        for($j=$i+1; $j<count($data); $j++) {
            if ($data[$j]<$data[$min]) {
                $min = $j;
            }
        }
        $data = swap_positions($data, $i, $min);
    }
    return $data;
}

function swap_positions($data1, $left, $right) {
    $backup_old_data_right_value = $data1[$right];
    $data1[$right] = $data1[$left];
    $data1[$left] = $backup_old_data_right_value;
    return $data1;
}
$my_array = array(3, 0, 2, 5, -1, 4, 1);
echo "原始数组:\n";
echo implode(&#39;, &#39;,$my_array );
echo "\n排序后数组:\n";
echo implode(&#39;, &#39;,selection_sort($my_array)). PHP_EOL;
Nach dem Login kopieren

Ausgabe:

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

Dieser Artikel handelt von PHP Auswahlsortierung Die Implementierungsmethode wird vorgestellt. Ich hoffe, dass sie Freunden, die sie benötigen, hilfreich sein wird!

Das obige ist der detaillierte Inhalt vonWie implementiert man die Auswahlsortierung 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