Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Array sortieren

  Alt 25. Jul 2017, 09: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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