28.09
This commit is contained in:
+12
-10
@@ -1,21 +1,23 @@
|
||||
Array = [3,2,1,5,4]
|
||||
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 selection_sort():
|
||||
anzahlVergleiche = 0
|
||||
anzahlTauschungen = 0
|
||||
for i in range(Länge):
|
||||
min_index = i
|
||||
for j in range(i+1, Länge):
|
||||
print(f"Vergleich: Array[{min_index}] = {Array[min_index]} und Array[{j}] = {Array[j]}")
|
||||
if Array[j] < Array[min_index]:
|
||||
min_index = j
|
||||
anzahlVergleiche += 1
|
||||
if min_index != i:
|
||||
Array[i], Array[min_index] = Array[min_index], Array[i]
|
||||
anzahlTauschungen += 1
|
||||
print(f"Vertauscht: Array[{i}] = {Array[i]} und Array[{min_index}] = {Array[min_index]}")
|
||||
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}")
|
||||
|
||||
start = time.time()
|
||||
selection_sort()
|
||||
end = time.time()
|
||||
verstrichene_zeit = end - start
|
||||
print(f'Ausführungszeit: {verstrichene_zeit} Sekunden')
|
||||
Reference in New Issue
Block a user