Heim  >  Artikel  >  tägliche Programmierung  >  Detaillierte Analyse der Blasensortierung

Detaillierte Analyse der Blasensortierung

**熬夜选手
**熬夜选手Original
2020-05-01 15:42:30352Durchsuche

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:

tbody>
Original-Array
原始数组
18 22 12
15 23 9
第一趟 18
22 12 15 9 23
第二趟 18 22 12 9 15 23
第三趟  18 22 9 12 15 23
第四趟 18 9 12 15 22 23
第五趟 9 12 15 18 22 23
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-1

Das obige ist der detaillierte Inhalt vonDetaillierte Analyse der Blasensortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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