Heim > Backend-Entwicklung > PHP-Tutorial > Codebeispiel für die PHP-Implementierung der Auswahlsortierung

Codebeispiel für die PHP-Implementierung der Auswahlsortierung

不言
Freigeben: 2023-04-04 21:12:01
nach vorne
3356 Leute haben es durchsucht

Dieser Artikel bietet Ihnen ein Codebeispiel für die Implementierung der Auswahlsortierung in PHP. Ich hoffe, dass er Ihnen als Referenz dienen wird.

Auswahlsortierung

Auswahlsortierung ist ein einfacher und intuitiver Sortieralgorithmus. So funktioniert es. Suchen Sie zunächst das kleinste (große) Element in der unsortierten Sequenz und speichern Sie es am Anfang der sortierten Sequenz. Suchen Sie dann weiterhin das kleinste (große) Element aus den verbleibenden unsortierten Elementen und fügen Sie es dann am Ende der sortierten Sequenz ein sortierte Reihenfolge. Und so weiter, bis alle Elemente sortiert sind.

Der Hauptvorteil der Auswahlsortierung hat mit der Datenverschiebung zu tun. Befindet sich ein Element an der richtigen Endposition, wird es nicht verschoben. Jedes Mal, wenn die Auswahlsortierung ein Elementpaar vertauscht, wird mindestens eines davon an seine endgültige Position verschoben. Das Sortieren einer Liste mit n Elementen erfordert also insgesamt höchstens n -1 Vertauschungen. Unter allen Sortiermethoden, die zum Verschieben von Elementen ausschließlich auf Austausch basieren, ist die Auswahlsortierung eine sehr gute

Eingeführt in Wikipedia. Bei der Blasensortierung und der Schnellsortierung, die in den ersten beiden Artikeln vorgestellt wurden, handelt es sich um Sortiermethoden, die vollständig auf dem Austausch beruhen, um Elemente zu verschieben.

Animationsdemonstration

Codebeispiel für die PHP-Implementierung der Auswahlsortierung

Codebeispiel für die PHP-Implementierung der Auswahlsortierung

Beispiel

<?php $arr = [33, 24, 8, 21, 2, 23, 3, 32, 16];

function selectSort($arr)
{
    $count = count($arr);

    if ($count < 2) {
        return $arr;
    }

    for ($i = 0; $i < $count - 1; $i++) {
        // 当前值的位置
        $key = $i;
        for ($k = $i + 1; $k < $count; $k++) {
            // 相邻值进行比较,条件成立替换当前值
            // 倒序 $arr[$key] < $arr[$k]
            if ($arr[$key] > $arr[$k]) {
                $key = $k;
            }
        }

        if ($key != $i) {
            // 交换位置
            $temp = $arr[$key];
            $arr[$key] = $arr[$i];
            $arr[$i] = $temp;
        }
    }

    return $arr;
}

print_r(selectSort($arr));
// Array ( [0] => 2 [1] => 3 [2] => 8 [3] => 16 [4] => 21 [5] => 23 [6] => 24 [7] => 32 [8] => 33 )
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonCodebeispiel für die PHP-Implementierung der Auswahlsortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
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