Heim > Backend-Entwicklung > PHP-Tutorial > So implementieren Sie einen Auswahlsortierungsalgorithmus mit PHP

So implementieren Sie einen Auswahlsortierungsalgorithmus mit PHP

WBOY
Freigeben: 2023-07-11 06:06:01
Original
842 Leute haben es durchsucht

So implementieren Sie den Auswahlsortierungsalgorithmus mit PHP

Auswahlsortierung ist ein einfacher und intuitiver Sortieralgorithmus. Seine Grundidee besteht darin, in jedem Durchgang das kleinste (oder größte) Element aus den zu sortierenden Datenelementen auszuwählen und es im Ergebnis zu speichern Die Startposition der Sequenz, bis alle zu sortierenden Datenelemente angeordnet sind. Im Folgenden implementieren wir den Auswahlsortierungsalgorithmus durch PHP-Code und erläutern ihn im Detail.

Werfen wir zunächst einen Blick auf die Implementierungsschritte des Auswahlsortierungsalgorithmus:

  1. Durchlaufen Sie das gesamte zu sortierende Array und nehmen Sie dabei das erste Element als Mindestwert (Standard).
  2. Durchlaufen Sie entsprechend dem Mindestwert die verbleibenden Elemente, suchen Sie nach Elementen, die kleiner als der aktuelle Mindestwert sind, und aktualisieren Sie den Mindestwert.
  3. Tauschen Sie den Minimalwert mit der aktuell gefahrenen Position.
  4. Wiederholen Sie die Schritte 2-3, bis die Array-Sortierung abgeschlossen ist.

Das Folgende ist ein Codebeispiel, bei dem PHP verwendet wird, um den Auswahlsortierungsalgorithmus zu implementieren:

function selectionSort($arr) {
    $len = count($arr);
    
    for($i = 0; $i < $len - 1; $i++) {
        $minIndex = $i;
        
        for($j = $i + 1; $j < $len; $j++) {
            if($arr[$j] < $arr[$minIndex]) {
                $minIndex = $j;
            }
        }
        
        // Swap the minimum value with the current position
        $temp = $arr[$minIndex];
        $arr[$minIndex] = $arr[$i];
        $arr[$i] = $temp;
    }
    
    return $arr;
}

// Test the selectionSort function
$testArray = [64, 25, 12, 22, 11];
echo "Before sorting: ";
print_r($testArray);
echo "After sorting: ";
print_r(selectionSort($testArray));
Nach dem Login kopieren

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

Before sorting: Array ( [0] => 64 [1] => 25 [2] => 12 [3] => 22 [4] => 11 )
After sorting: Array ( [0] => 11 [1] => 12 [2] => 22 [3] => 25 [4] => 64 )
Nach dem Login kopieren

Dies ist das Ergebnis der Sortierung des Arrays durch den Auswahlsortierungsalgorithmus. Als nächstes erklären wir den spezifischen Implementierungsprozess des Codes.

Im Code definieren wir eine Funktion namens selectionSort, die ein zu sortierendes Array als Parameter akzeptiert und das sortierte Array zurückgibt. selectionSort的函数,它接受一个待排序的数组作为参数,并返回排序后的数组。

首先,我们使用count函数获取到数组的长度,并将其赋值给变量$len。然后,我们使用两个嵌套的for循环来遍历整个数组。

在外部的for循环中,我们定义了一个变量$minIndex用来保存当前最小值的索引,默认为当前的循环变量$i。在内部的for循环中,我们通过比较当前元素和最小值的大小来更新最小值的索引。

当内部的for循环结束后,我们将当前最小值与当前的位置进行交换。通过使用一个临时变量$temp

Zuerst verwenden wir die Funktion count, um die Länge des Arrays zu ermitteln und sie der Variablen $len zuzuweisen. Anschließend verwenden wir zwei verschachtelte for-Schleifen, um das gesamte Array zu durchlaufen.

In der äußeren for-Schleife definieren wir eine Variable $minIndex, um den Index des aktuellen Minimalwerts zu speichern, der standardmäßig auf die aktuelle Schleifenvariable $i gesetzt ist . In der inneren for-Schleife aktualisieren wir den Index des Mindestwerts, indem wir die Größe des aktuellen Elements und den Mindestwert vergleichen.

Wenn die innere for-Schleife endet, tauschen wir den aktuellen Minimalwert mit der aktuellen Position aus. Tauschen Sie die Werte zweier Elemente aus, indem Sie eine temporäre Variable $temp verwenden.

Schließlich geben wir das sortierte Array zurück. 🎜🎜Die zeitliche Komplexität des Auswahlsortierungsalgorithmus beträgt O(n^2), wobei n die Länge des zu sortierenden Arrays ist. Dies liegt daran, dass bei jedem Durchlauf der Mindestwert unter den verbleibenden Elementen ermittelt und eine Austauschoperation durchgeführt werden muss. Unabhängig vom Anfangszustand des Arrays müssen n-1 Durchläufe durchgeführt werden. 🎜🎜Ich hoffe, dass Sie durch die Codebeispiele und Erklärungen in diesem Artikel den Implementierungsprozess des Auswahlsortierungsalgorithmus besser verstehen und ihn in der tatsächlichen Entwicklung flexibel verwenden können. 🎜

Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen Auswahlsortierungsalgorithmus mit 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