Forum: Algorithmen, Datenstrukturen und Klassendesign
FreePascal
by himitsu,
8. Mär 2018
Welchen?
Antwort #6 ... joar, stimmt soweit.
for i := 0 to High(numbers)-1 do
for k := i+1 to High(numbers) do
if numbers > numbers then
Tausche(i, k)
Forum: Algorithmen, Datenstrukturen und Klassendesign
FreePascal
by himitsu,
8. Mär 2018
Das Sortieren funktioniert vollkommen korrekt, entsprechend deinem Vergleichskriterium.
Da arbeiten alle Sortieralgorithen erstmal gleich.
Einen Unterschied gibt es nur beim Tempo, der Anzahl der Vergleiche, der Anzahl der Verschiebungen/Tauschungen und ob das Sortieren "gleicher" Werte stabil ist.
stabil = gleiche Werte bleiben in gleicher Reihenfolge.
-> Frank mit 10 Punkten war vor...
Forum: Algorithmen, Datenstrukturen und Klassendesign
FreePascal
by himitsu,
6. Mär 2018
Dann mußt du eben nach mehreren Kriterien sortieren.
wenn Math.Sign ungleich ist, dann direkt vergleichen
und wenn Math.Sign gleich ist, mit Abs vergleichen.