Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#8

AW: Array sortieren

  Alt 25. Jul 2017, 10:56
In Projektoptionen bitte mal Indexprüfung aktivieren.
Zitat:
Delphi-Quellcode:
for i := low(ArrAngKps) to Pred(high(ArrAngKps)) do
  for j := succ(i) to high(ArrAngKps) do
    if ArrAngKps[j].CrtDatum > ArrAngKps[j + 1].CrtDatum then
j := ... to high(ArrAngKps) und ArrAngKps[j + 1] muß zwangsläufig knallen.
High+1 ist nicht mehr im Array drin.


Außerdem vergleichst du dort J mit J+1, aber tauschst I mit J.
Und im zweiten Versuch verlgichst du I mit J, aber tauschst J mit J+1.
Man sollte da natürlich nur das tauschen, was vorher auch verglichen wurde, da sonst das Vergleichsergebnis nicht unbedingt zu den getauschten Items passt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (25. Jul 2017 um 11:13 Uhr)
  Mit Zitat antworten Zitat