import random import time def bubblesort(array): anzahlVergleiche = 0 anzahlTauschvorgaenge = 0 n = len(array) startzeit = time.perf_counter() for i in range(n - 1): for j in range(n - 1): anzahlVergleiche += 1 if array[j] > array[j + 1]: array[j], array[j + 1] = array[j + 1], array[j] anzahlTauschvorgaenge += 1 endzeit = time.perf_counter() return anzahlVergleiche, anzahlTauschvorgaenge, endzeit - startzeit # 40.000 unterschiedliche Zahlen zwischen 1 und 100.000 data = random.sample(range(1, 100001), 40000) print("=" * 45) print(" BUBBLESORT") print("=" * 45) vergleiche, tausche, zeit = bubblesort(data) print("\nSortierung abgeschlossen!") print("-" * 45) print("Anzahl Zahlen: ", len(data)) print("Anzahl Vergleiche: ", vergleiche) print("Anzahl Tauschvorgänge:", tausche) print("Benötigte Zeit: ", zeit, "Sekunden") print("-" * 45) print("\nErste 20 Zahlen des sortierten Arrays:") print(data[:20]) print("=" * 45)