Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Array items löschen

  Alt 5. Jan 2010, 07:13
Zitat von mkinzler:
Geht nur mit Umkopieren.
Dann kommt es noch darauf an, ob die Sortierung erhalten bleiben soll oder ob diese egal ist
und ob die Geschwindigkeit und der Speicherverbrauch eine Rolle spielen.

Sortierung wichtig:
- alle Einträge nach dem zu Löschenden um 1 nach vorne kopieren
- Arraylänge um 1 kürzen

Sortierung egal:
- letzen Eintrag in den zu Löschenden kopieren oder Beide austauschen
- Arraylänge um 1 kürzen

Arraygröße egal:
- zu löschenden Eintrag einfach nur als "gelöscht" markieren
> hier muß man dann diese Markierung selber verwalten,
> beim Auslesen die "gelöschten" überspringen
> und beim Einfügen eventuell erstmal 'ne freige/gelöschte Stelle suchen, um da einzufügen, anstatt man das Array vergrößert hinten anhängt
> und man braucht mehr Speicher

von oben nach unten sind diese Varianten unterschiedlich schnell (jeweil schneller),
wobei man durch die Art des Kopierens auch noch mal am Tempo drehen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat