[PYTHON] Blasensorte

Einführung

Es ist nicht das erste Mal, dass ich es implementiere, aber ich dachte, ich würde einen Artikel schreiben, weil ich dachte, er wäre etwas tiefer als als als Anfänger. Ich finde diese Blasensorte, die Bewegung ist sehr schön. Das Prinzip der schönen Dinge ist nicht intuitiv. Ich denke, dass die Möglichkeit, nach Vertrautheit zu sortieren, Trumps Hand ist, aber ich habe diese Blasensortierung nie in der elementaren Ausrichtung verwendet. (Hast du welche? Lol)

Code

bubble_sort.py


def bubble_sort(A):
    flag = 1
    i = 0
    while flag:
        flag = 0
        for j in range(len(A)-1,i,-1):
            if A[j] < A[j-1]:
                A[j],A[j-1] = A[j-1],A[j]
                flag = 1
        i += 1
    return A

wie benutzt man

Das Argument ist ein beliebiges Array, und das sortierte Array wird zurückgegeben.

Erläuterung

Schleifenvariable i -Der Anfang des sortierten Arrays ・ Sie erhöht sich von Anfang an um 1 -Die Endbedingung ist, wenn die Sortierung abgeschlossen ist = wenn kein Elementaustausch stattfindet (ausgedrückt durch Flag)

Schleifenvariable j

flag ・ Wird für eine Weile als Fortsetzung verwendet ・ Wenn es einen Elementaustausch gibt, wird er 1 und die nächste Schleife wird fortgesetzt.

abschließend

Ich dachte, ich sollte einfach eine for-Anweisung von Anfang bis Ende sein! Bei der Blasensortierung hört eine Schleife jedoch erst auf, wenn alle Elemente überprüft wurden, sodass viele Male nutzlose Vergleiche durchgeführt werden. Korrekt. Ich war froh, als ich verstand, dass ich es beenden würde, wenn es keinen Austausch mit einer Variablen namens flag gäbe. Wenn es Ihnen gefällt, folgen Sie mir bitte und es wird motivierend sein. Danke. !!!!!

Verweise

Recommended Posts

Blasensorte
Blasensorte
Blasensortierung ohne Sortierung
Sortieren
Blasensortierung mit flauschiger Animation
Sortierung einfügen
SelectionSort
[Python] Sortieren
Python #sort
Implementierte Blasensortierung in Java (BubbleSort)
Stuge Sort in Python 3 implementiert (Bubble Sort & Quick Sort)
AOJ Sort I-
Zusammenführungssortierung erklärt
Sortierimplementierung einfügen
Praktische Schlafsorte
Nach Pandas sortieren
Visualisieren Sie, wie Blasen sortiert werden
Visualisieren Sie die Einfügesortierung
Python-Anfänger fordern Cpaw CTF Q14 mit Blasensortierung heraus
Blasensortierung, Sortierung auswählen, Sortierung einfügen, Shell sortieren, Sortierung zusammenführen, schnelle Sortierung, Sortierung zählen (Python)