# Auf ein Array A mit den Werten 64, 34, 25, 12, 22, 11, 90 soll ein Bubblesort durchgeführt werden. # Bei jedem Durchlauf soll das Array ausgegeben werden umnd farblich markiert sein welche zwei Werte gerade verglichen werden. # Am Anfang soll ein zufälliges Array A mit 10 Werten zwischen 1 und 100 erstellt werden. # Die Zeit für den Sortiervorgang soll gemessen werden und am Ende ausgegeben werden. import random import time n = 50000 Array = [random.randint(1, n) for _ in range(1, n)] print("Unsortiertes Array A:", Array) Länge = len(Array) def Aufgabe1(): anzahlVergleiche = 0 anzahlTauschungen = 0 for i in range(Länge): for j in range(0, Länge-1): print(f"Vergleich: Array[{j}] = {Array[j]} und Array[{j+1}] = {Array[j+1]}") if Array[j] > Array[j+1]: Array[j], Array[j+1] = Array[j+1], Array[j] anzahlTauschungen += 1 print(f"Vertauscht: Array[{j}] = {Array[j]} und Array[{j+1}] = {Array[j+1]}") anzahlVergleiche += 1 print() # Neue Zeile nach jedem Durchlauf print("Sortiert sieht das Array A so aus:", Array) print(f"Anzahl der Vergleiche: {anzahlVergleiche}") print(f"Anzahl der Tauschungen: {anzahlTauschungen}") def Aufgabe2(): anzahlVergleiche = 0 anzahlTauschungen = 0 for i in range(Länge): for j in range(0, Länge-i-1): print(f"Vergleich: Array[{j}] = {Array[j]} und Array[{j+1}] = {Array[j+1]}") if Array[j] > Array[j+1]: Array[j], Array[j+1] = Array[j+1], Array[j] anzahlTauschungen += 1 print(f"Vertauscht: Array[{j}] = {Array[j]} und Array[{j+1}] = {Array[j+1]}") anzahlVergleiche += 1 print() # Neue Zeile nach jedem Durchlauf print("Sortiert sieht das Array A so aus:", Array) print(f"Anzahl der Vergleiche: {anzahlVergleiche}") print(f"Anzahl der Tauschungen: {anzahlTauschungen}") #Aufgabe2() def Bubblesortz(): for i in range(Länge): for j in range(0, Länge-i-1): if Array[j] > Array[j+1]: Array[j], Array[j+1] = Array[j+1], Array[j] print("Sortiert sieht das Array A so aus:", Array) start = time.time() Bubblesortz() end = time.time() verstrichene_zeit = end - start print(f'Ausführungszeit: {verstrichene_zeit} Sekunden')