44 lines
1.8 KiB
Python
44 lines
1.8 KiB
Python
# 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.
|
|
|
|
anzahlVergleiche = 0
|
|
anzahlTauschungen = 0
|
|
Array = [3,2,1,5,4]
|
|
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() |