Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Probleme mit Listen/ verkettet Listen

  Alt 24. Okt 2007, 19:46
Nun, ich weiß nicht wie ich Dir das anders erklären soll:

Ein Beispiel von mir wie ein Element aus einer doppelt verketteten Liste gelöscht wird.
Vielleicht hilft es Dir ja weiter.
Delphi-Quellcode:
procedure TFeed.deleteItem(aPointer:Pointer);
begin
  ItemList:=aPointer;
  if (aPointer <> firstItem) and (aPointer <> lastItem) then
    begin
      ItemList^.next^.prev:=ItemList^.prev;
      ItemList^.prev^.next:=ItemList^.next;
    end;

  if aPointer = firstItem then
    begin
      firstItem:=ItemList^.next;
      if firstItem <> nil then
        ItemList^.next^.prev:=nil;
    end;

  if aPointer = lastItem then
    begin
      lastItem := ItemList^.prev;
      if lastItem <> nil then
        ItemList^.prev^.next:=nil;
    end;

  dispose(ItemList);
end;
wobei ItemList so ausschaut:
  itemList: PfeedSet; und PfeedSet so:
Delphi-Quellcode:
  PfeedSet = ^TfeedSet;
  TfeedSet = record
    data : TData;
    prev,next: PfeedSet;
  end;

end;
[edit] noch ein Link zur Verdeutlichung.[/edit]

Grüße und eine gute Nacht
Klaus
Klaus
  Mit Zitat antworten Zitat