Einzelnen Beitrag anzeigen

Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Drastische Performanceeinbuße bei Linked List mit Object

  Alt 15. Mai 2007, 18:43
MyFooBar sieht aus wie die Liate... die sollte nur pFirst, pLast und eventuell pCurrent kennen. Mehr braucht die auch gar nicht wissen.

Wenn du jetzt ein Objekt mit pPrev und pNext einhängen willst gehst du wie folgt vor:

Delphi-Quellcode:
var
  newItem, temp: TListItem;
begin
  newItem := TListItem.Create; // neues Item erzeugen pPrev und pNext sind dann nil

  { ... Item mit Daten bestücken ... } 

  temp := Liste.pfirst; // Das erste Item aus der Liste greifen
  temp.pPref := newItem; // Diesem statt nil (Anfang) das neue Item als Vorgänger zuweisen
  newItem.pNext := temp; // Das alte erste Item ist jetzt der Nachfolger unseres neuen Items
  Liste.pFirst := newItem; // Zuguterletzt unser neues Item als erstes Item in der Liste setzen
end;
Dabei geh ich davon aus, dass beim newItem-erzeugen pPrev und pNext auf nil initialisiert werden.
  Mit Zitat antworten Zitat