Heim >tägliche Programmierung >PHP-Kenntnisse >PHP-Blasensortierungsalgorithmus (1)
Im vorherigen Artikel haben wir Ihnen die PHP-Algorithmusserie „PHP wählt zufällig einen Algorithmus aus“ vorgestellt 🎜>》. Heute werden wir Ihnen weiterhin die relevanten Wissenspunkte der gängigen PHP-Algorithmusreihe erklären, nämlich PHP Bubble Sort Algorithm .
Blasensortierung ist meiner Meinung nach für Programmierer kein Unbekannter. Der Blasensortierungsalgorithmus vergleicht einfach zwei benachbarte Zahlen der Reihe nach und sortiert sie dann nach ihrer Größe bis zu den letzten beiden Ziffern. Der Grund, warum er als „Blasensortierungs“-Algorithmus bezeichnet wird, liegt darin, dass größere Elemente durch Austausch (in aufsteigender oder absteigender Reihenfolge angeordnet) langsam an die Spitze des Arrays „schweben“, genau wie die Kohlenstoffblasen Kohlendioxid in kohlensäurehaltigen Getränken wird schließlich nach oben schwimmen.PHP-Blasensortierungsalgorithmus anhand konkreter Codebeispiele vor. (Das Folgende ist die aufsteigende Reihenfolge, also von klein nach groß)
Das Codebeispiel lautet wie folgt:
<?php function maopao($arr){ $len = count($arr); for($k=0;$k<=$len;$k++) { for($j=$len-1;$j>$k;$j--){ if($arr[$j]<$arr[$j-1]){ $temp = $arr[$j]; $arr[$j] = $arr[$j-1]; $arr[$j-1] = $temp; } } } return $arr; } $arr = [2,6,2,8,2,34,5,9,2341,23]; var_dump(maopao($arr));Hier definieren wir zunächst eine Maopao-Methode , wir zählen die Zahlen über die Zählfunktion. Gibt die Gesamtlänge des Arrays an. Verwenden Sie dann eine doppelte for-Schleifenanweisung, um die Array-Elemente zu durchlaufen und sie einzeln zu vergleichen. Anschließend wird die äußere for-Schleife verwendet, um die Schleifenrunden zu steuern. Die innere for-Schleife dient dazu, die Anzahl der Vergleiche in jeder Runde zu steuern der größte nach jeder Vergleichsrunde. Der Wert wird an letzter Stelle platziert.
Hinweis: Hier speichern wir den Wert von $j über die temporäre Variable $temp, um zwei benachbarte Elemente in einer Schleife zu vergleichen und den größeren Wert am Ende einzufügen.
Ausgabe:array (size=10) 0 => int 2 1 => int 2 2 => int 2 3 => int 5 4 => int 6 5 => int 8 6 => int 9 7 => int 23 8 => int 34 9 => int 2341Fassen Sie das Algorithmusprinzip der Blasensortierung zusammen: Vergleichen Sie für einen Datensatz die Größe benachbarter Daten, stellen Sie die Daten mit kleinen Werten in den Vordergrund und die Daten mit großen Werten hinten. Dieser Artikel ist eine Einführung in den PHP-Bubble-Sortieralgorithmus (2)
“, wir werden XdebugDebuggen Implementierungsprozess zur intuitiveren Ausführung des Blasensortierungsalgorithmus für alle.
Das obige ist der detaillierte Inhalt vonPHP-Blasensortierungsalgorithmus (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!