Der vorherige Artikel hat Ihnen „Was ist Fehlerbehandlung in PHP?“ vorgestellt. Fehlercode? Falscher Auslöser? 》In diesem Artikel erfahren Sie weiterhin, wie Sie die Blasensortierung in PHP verwenden. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Array-Sortieralgorithmus.
Bubble Sort
Bubble Sort (Bubble Sort) ist ein relativ einfacher Sortieralgorithmus im Bereich der Informatik.
Es besucht wiederholt die zu sortierende Sequenz, vergleicht jeweils zwei Elemente und tauscht sie aus, wenn sie in der falschen Reihenfolge sind.
Der Besuch des Arrays wird wiederholt, bis kein Austausch mehr erforderlich ist, was bedeutet, dass das Array sortiert wurde.
Die Algorithmusidee der Blasensortierung:.
1) Vergleichen Sie benachbarte Elemente. Wenn das erste größer als das zweite ist, tauschen Sie beide aus. .
2) Machen Sie die gleiche Arbeit für jedes Paar benachbarter Elemente, vom ersten Paar am Anfang bis zum letzten Paar am Ende. Zu diesem Zeitpunkt sollte das letzte Element die größte Zahl sein.
3) Wiederholen Sie die obigen Schritte für alle Elemente außer dem letzten. .
4) Wiederholen Sie die obigen Schritte jedes Mal für immer weniger Elemente, bis keine Zahlenpaare mehr zum Vergleichen vorhanden sind.
Zuerst definieren wir ein Array und finden dann einen Weg, den größten Wert ganz rechts zu platzieren. Nehmen wir den Code wie folgt:
<?php //数组排序算法:冒泡排序 $arr = array(1,4,2,9,7,5,8); //想办法将最大的值放到最右边去 for($j =0,$len = count($arr); $j < $len - 1;$j++){ //判断:两两相比 if($arr[$j] > $arr[$j+1]){ //左边比右边大:交换 $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } echo '<pre class="brush:php;toolbar:false">'; print_r($arr);
Die laufenden Ergebnisse sind wie folgt :
Wie sollen wir also den obigen Code einmal ausführen lassen? Lassen Sie uns den folgenden Code, der den Maximalwert ermitteln kann, jedes Mal wiederholt ausführen.
<?php //数组排序算法:冒泡排序 $arr = array(1,4,2,9,7,5,8); for($i=0,$len = count($arr);$i < $len;$i++){ //想办法将最大的值放到最右边去 for($j =0,$len = count($arr); $j < $len - 1;$j++){ //判断:两两相比 if($arr[$j] > $arr[$j+1]){ //左边比右边大:交换 $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } echo '<pre class="brush:php;toolbar:false">'; print_r($arr); }
Die laufenden Ergebnisse sind wie folgt:
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWie verwende ich die Blasensortierung in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!