Eine einfache verkettete Liste sollte immer ein 'Dummy-Element' (HEAD) beinhalten, das auf das erste Element der Liste zeigt. Elemente werden immer zwischen HEAD und HEAD.next eingefügt. Da HEAD.next anfangs mit nil belegt ist, kann man nichts falsch machen:
Delphi-Quellcode:
Type
PLinkedList =^TLinkedList;
TLinkedList = Record
llNext : PLinkedList;
llData : TInfo
End;
Var
Head : PLinkedList;
Procedure InitList;
Begin
New (Head);
Head^.llNext := Nil;
End;
Procedure AddToList (aNodeInfo : TInfo);
Var
p : PLinkedList;
Begin
New (P);
p^.llData := aNodeInfo;
p^.llNext := HEAD^.llNext;
Head^.llNext := p
End;
Dann funktioniert der Löschcode auch.