Bubble Sort (Bubble Sort, aus Taiwan übersetzt als: Bubble Sort oder Bubble Sort) ist ein einfacher Sortieralgorithmus. Es durchläuft wiederholt die zu sortierende Sequenz, vergleicht jeweils zwei Elemente und vertauscht sie, 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. Der Name dieses Algorithmus rührt von der Tatsache her, dass kleinere Elemente durch den Austausch langsam an die Spitze des Arrays „schweben“. Die Funktionsweise des Blasensortierungsalgorithmus ist wie folgt:
1. Vergleichen Sie benachbarte Elemente. Wenn das erste größer als das zweite ist, tauschen Sie beide aus.
2. Machen Sie dasselbe 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.
Code:
#!/usr/bin/env python #-*-encoding:utf-8 #BubbleSort def bubble_sort(param): p_len = len(param) for i in range(p_len): for j in range(i+1,p_len)[::-1]: if param[j] < param[j-1]: param[j],param[j-1]=param[j-1],param[j] return param def main(): param = [1,2,3,5,7,6,4] print bubble_sort(param) if __name__=="__main__": main()