Blasensortierung
Für Freunde, die neu in der Programmierung und in Algorithmen sind, ist der Sortieralgorithmus möglicherweise nicht klar. Als nächstes werden wir analysieren Blasensortierung.
Was ist das Prinzip der Blasensortierung?
Durchlaufen eines Arrays, bei dem die Werte zweier benachbarter Zellen verglichen werden: Wenn erstere größer als letztere ist, werden die beiden Werte vertauscht. Am Ende dieses Vorgangs muss der Maximalwert im Array an der letzten Position platziert werden.
Wenn der obige Vorgang erneut ausgeführt wird, kann festgestellt werden, dass der Maximalwert in den verbleibenden Daten an der vorletzten Position platziert wird.
Fahren Sie dann mit dem obigen Vorgang erneut fort und Sie können weiterhin feststellen, dass der Maximalwert in den verbleibenden Daten an der drittletzten Position platziert wird.
Und so weiter. . . . .
Bild:
Original-Array
|
18 | 22 | 12 | 15 | 23 | 9 | Erste Fahrt | 18 |
22 | 12 | 15 | 9 | 23 | |||||||||||||||||||||||||||||||||||
Zweite Reise | 18 | 22 | 12 | 9 | 15; | 23 | ||||||||||||||||||||||||||||||||||||||||||
Die dritte Reise | 22 | 9 | 12 | 15 | 23 | |||||||||||||||||||||||||||||||||||||||||||
Die vierte Reise | 18 | 9 td> | 12 | 15 | 22 | 23 | ||||||||||||||||||||||||||||||||||||||||||
Die fünfte Reise | 9 | 12 | 15 | 18 | 22 | 23 |
Codedemonstration:
$arr1 = array(18,22,12,15,23,9); $n = count($arr1); //控制要进行的躺数 for($i = 0;$i < $n-1;$i++){ //在每一趟里面,控制进行比较的次数 for($k = 0;$k < $n-1-$i;$k++){ if ($arr1[$k] > $arr1[$k+1]) { $temp = $arr1[$k]; $arr1[$k] = $arr1[$k+1]; $arr1[$k+1] = $temp; } } }
Lassen Sie uns abschließend die Regeln zusammenfassen:
1. Um von vorne zu beginnen Die Anzahl der Vergleichspaare und Austauschpositionen am Ende beträgt $n-1, $n ist die Gesamtzahl (Array-Länge)
2. Vergleichen Sie jedes Mal die Größe der beiden Daten und tauschen Sie ggf. ihre Positionen aus!
3. Die Anzahl der Vergleiche für jede Fahrt ist eins weniger als für die vorherige Fahrt. Die Anzahl der Vergleiche für die erste Fahrt beträgt: $n-1Das obige ist der detaillierte Inhalt vonDetaillierte Analyse der Blasensortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!