Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Hunbeorht Abendroth Geändert vor über 10 Jahren
1
Felder sortieren
2
Aufgabe: Die Zahlen eines Feldes sollen der Größe (zuerst die kleinste Zahl) nach sortiert werden.
3
9080607050 Minimum bestimmen vertauschen 5080607090
4
5080607090 Minimum bestimmen vertauschen 5060807090
5
5060807090 Minimum bestimmen vertauschen 5060708090
6
5060708090 Minimum bestimmen vertauschen 5060708090
7
5060708090 Minimum bestimmen vertauschen 5060708090
8
Algorithmus:
9
Zahlen_Eingabe Zahlen_Sortieren Zahlen_Ausgabe
10
Zahlen_Eingabe const int len = 100 int zahlen[len] while (anz_zahlen len) Anzahl sortierender Zahlen anz_zahlen eingeben for (i = 0; i < anz_zahlen; i++) einlesen (zahlen[i])
11
Zahlen_Ausgabe for (i = 0; i < anz_zahlen; i++) Ausgabe(zahlen[i])
12
Zahlen_Sortieren for (linke_grenze = 0 ; linke_grenze < anz_zahlen; linke_grenze++) Bestimme das Minimum min und seine Position (Index) pos_min im Feldbereich linke_grenze bis anz_zahlen - 1 Vertausche zahlen[pos_min] und zahlen[linke_grenze]
13
Bestimme_Minimum im Feldbereich [linke_grenze, anz_zahlen-1] min = zahlen[linke_grenze] pos_min = linke_grenze for (i = linke_grenze; i < anz_zahlen; i ++) zahlen[i] < min WF min = zahlen[i] pos_min= i
14
Minimum_Vertauschen temp1 = zahlen[pos_min] temp2 = zahlen[linke_grenze] zahlen[pos_min] = temp2 zahlen[linke_grenze] = temp1
15
Zusammengesetzt: for linke_grenze = 0; linke_grenze < anz_zahlen; linke_grenze++) Vertausche zahlen[pos_min] und zahlen[linke_grenze] Bestimme das Minimum min und seine Position (Index) pos_min im Feldbereich linke_grenze bis anz_zahlen - 1
16
Zusammengesetzt: for linke_grenze = 0; linke_grenze < anz_zahlen; linke_grenze++) Vertausche zahlen[pos_min] und zahlen[linke_grenze]
17
Zusammengesetzt: for linke_grenze = 0; linke_grenze < anz_zahlen; linke_grenze++) Vertausche zahlen[pos_min] und zahlen[linke_grenze] Inhalt von voriger Folie hier her kopieren
18
Zusammengesetzt: for linke_grenze = 0; linke_grenze < anz_zahlen; linke_grenze++) min = zahlen[linke_grenze] pos_min = linke_grenze for (i = linke_grenze; i < anz_zahlen; i++) zahlen[i] < min WF min = zahlen[i] pos_min= i Vertausche zahlen[pos_min] und zahlen[linke_grenze]
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.