Ну ладно, я сегодня добрый...
Как-то так:
Код:
type
PListItem = ^TListItem;
TListItem = record
Val : Integer;
Next : PListItem;
end;
var
MyList : PListItem;
procedure RemoveFirst0(AList : PListItem);
var
I : PListItem;
begin
While AList.Next <> Nil Do
Begin
If AList.Next.Val = 0 Then
Begin
I := AList.Next;
AList.Next := AList.Next.Next;
Dispose(I);
Break;
End;
AList := AList.Next;
End;
end;
procedure PrintList(AList : PListItem);
begin
While AList <> Nil Do
Begin
WriteLn(AList.Val);
AList := AList.Next;
End;
end;