если
| Код | Type TData = integer; PElem =^TElem; TElem = record Data : TData; Next, Prev : PElem; end;
|
тогда так:
| Код | procedure Add2End(D:TData; var P1,P2:PElem); var NewElem:PElem; Begin new(NewElem); NewElem^.Data:=D; NewElem^.Next:=nil; if P1=nil then begin NewElem^.Prev:=nil; P1:=NewElem; end else begin NewElem^.Prev:=P2; P2^.Next:=NewElem; end; P2:=NewElem; End;
|
или я попутал очередь с двусвязным списком? ну если очередь - односвязный список, то может так
если
| Код | Type TData = integer; PElem =^TElem; TElem = record Data : TData; Next : PElem; end;
|
тогда так:
| Код | procedure Add2End(D:TData; var P1,P2:PElem); var NewElem:PElem; Begin new(NewElem); NewElem^.Data:=D; NewElem^.Next:=nil; if P1=nil then P1:=NewElem else P2^.Next:=NewElem; P2:=NewElem; End;
|
|