Heim  >  Artikel  >  Backend-Entwicklung  >  Wie implementiert man die Auswahlsortierung in PHP?

Wie implementiert man die Auswahlsortierung in PHP?

藏色散人
藏色散人Original
2019-03-06 13:57:423053Durchsuche

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;

Ausgabe:

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

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!

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