Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:sorting:problemstellung:start [06.02.2023 10:04] – [Eigene sortierbare Objekte] Frank Schiebel | faecher:informatik:oberstufe:algorithmen:sorting:problemstellung:start [08.02.2023 16:06] (aktuell) – [Sortiert?] Frank Schiebel | ||
---|---|---|---|
Zeile 78: | Zeile 78: | ||
- | Der Vergleich zweier Objekte des Typs Time findet dann folgendermaßen statt: | + | Der Vergleich zweier Objekte des Typs '' |
<code java> | <code java> | ||
Zeile 97: | Zeile 97: | ||
</ | </ | ||
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
+ | {{ : | ||
+ | * Teste das Beispiel mit der Klasse '' | ||
+ | * Denke dir eine eigene Klasse aus, die das Comparable Interface implementiert, | ||
+ | * Kann man das Spiel Schere-Stein-Papier mit einer Klasse '' | ||
+ | |||
+ | ===== Hilfsfunktionen ===== | ||
+ | |||
+ | Da der Vergleich mittels '' | ||
+ | |||
+ | ==== Kleiner... ==== | ||
+ | |||
+ | Die Hilfsfunktion '' | ||
+ | |||
+ | <code java> | ||
+ | private boolean less(Comparable v, Comparable w) | ||
+ | { | ||
+ | return v.compareTo(w) < 0; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Platztausch ==== | ||
+ | |||
+ | Die Hilfsfunktion '' | ||
+ | <code java> | ||
+ | private void exch(Comparable[] a, int i, int j) | ||
+ | { | ||
+ | Comparable swap = a[i]; | ||
+ | a[i] = a[j]; | ||
+ | a[j] = swap; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Sortiert? ==== | ||
+ | |||
+ | Die letzte Hilfsfunktion gibt '' | ||
+ | |||
+ | <code java> | ||
+ | private boolean isSorted(Comparable[] a) | ||
+ | { | ||
+ | for (int i = 1; i < a.length; i++) { | ||
+ | if (less(a[i], a[i-1])) return false; | ||
+ | } | ||
+ | return true; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Material ==== | ||
+ | |||
+ | {{simplefilelist>: | ||