Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ef:algorithmen:temmplates [2025/12/11 14:59] – angelegt lehmannr | ef:algorithmen:temmplates [2025/12/11 15:00] (aktuell) – lehmannr | ||
|---|---|---|---|
| Zeile 24: | Zeile 24: | ||
| algo = 3 | algo = 3 | ||
| print(algo) | print(algo) | ||
| - | | ||
| - | |||
| root = tk.Tk() | root = tk.Tk() | ||
| Zeile 52: | Zeile 50: | ||
| root.mainloop() | root.mainloop() | ||
| + | |||
| + | </ | ||
| + | |||
| + | ====== 2. Sortier-Template ====== | ||
| + | <sxh python> | ||
| + | |||
| + | import random | ||
| + | import time | ||
| + | import tkinter as tk | ||
| + | |||
| + | # Konstanten | ||
| + | MARGIN_BOTTOM = 30 | ||
| + | BAR_WIDTH = 10 | ||
| + | HEIGHT = 400 | ||
| + | WIDTH = 1100 | ||
| + | |||
| + | # Zufallsdaten zwischen 1 und 100 (jede Zahl nur 1x) | ||
| + | data = random.sample(range(0, | ||
| + | |||
| + | # Fenster und Canvas | ||
| + | root = tk.Tk() # Hauptfenster von Tkinter | ||
| + | root.title(" | ||
| + | canvas = tk.Canvas(root, | ||
| + | canvas.pack() # die Zeichenfläche platzieren mit pack (Alternativen: | ||
| + | |||
| + | def draw_list(lst): | ||
| + | canvas.delete(" | ||
| + | for index, val in enumerate(lst): | ||
| + | x = 20 + index * BAR_WIDTH | ||
| + | y0 = HEIGHT - MARGIN_BOTTOM | ||
| + | y1 = HEIGHT - MARGIN_BOTTOM - (val * 3) # Skaliere 0..100 | ||
| + | canvas.create_line(x, | ||
| + | canvas.update() | ||
| + | |||
| + | def bubble_sort(lst, | ||
| + | n = len(lst) | ||
| + | for i in range(n - 1, 0, -1): | ||
| + | for j in range(i): | ||
| + | if lst[j] > lst[j + 1]: | ||
| + | lst[j], lst[j + 1] = lst[j + 1], lst[j] | ||
| + | draw_list(lst) | ||
| + | time.sleep(delay_sec) | ||
| + | draw_list(lst) | ||
| + | |||
| + | # Start | ||
| + | draw_list(data) | ||
| + | bubble_sort(data, | ||
| + | root.mainloop() | ||
| + | |||
| </ | </ | ||