Einzelnen Beitrag anzeigen

Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#8

AW: Funktion kommt beim sortieren des Array durcheinander

  Alt 16. Feb 2012, 21:22
Ich würde das eh anders machen (manchmal die einfachste Möglichkeit, ein Problem zu lösen)
Delphi-Quellcode:
i := Low(Info);
While i<=High(Info) do begin
  if Info[i].Deleted then begin
    MoveInfo(High(Info),i);
    setLength(Info, Length(Info) - 1);
  end;
  inc(i);
end;
Also: Jedes 'Loch' wird einfach mit dem höchsten Element aufgefüllt und die Liste dann verkleinert.
Sofern Du keine sortierte Liste hast, geht das natürlich viel schneller.

Tipp: Verwende die 'Top-Down Programmierung mit Stepwise refinement' Das war vor 30 Jahren, als ich angefangen habe, state of the art. Und ist es immer noch, wenn ich an Refactoring denke und die Prämisse, Code lesbar und kompakt zu halten.
  Mit Zitat antworten Zitat