unit ulist; interface type P2list=^T2list; T2list=record key:integer; pprev,pnext:p2list; end; function createElement2(key:integer):p2list; procedure addfirstelement2(var PH:p2list; p:p2list); procedure addlastelement2(var PH:p2list; p:p2list); procedure InsertElementAfter2(pEl:p2list; p:p2list); procedure InsertElementBefore2(pEl:p2list; p:p2list); function deleteElement2(pEl:p2list):p2list; function deletefirstElement2(var pH:p2list):p2list; procedure disposeList2(var pH:p2list); function countElements2(pH:p2list):integer; type TlistAction2=procedure(key:integer); procedure listAction2(ph:p2list; proc:TListAction2); implementation function createElement2(key:integer):p2list; begin end; procedure addfirstelement2(var PH:p2list; p:p2list); begin end; procedure addlastelement2(var PH:p2list; p:p2list); begin end; procedure InsertElementAfter2(pEl:p2list; p:p2list); begin end; procedure InsertElementBefore2(pEl:p2list; p:p2list); begin end; function deleteElement2(pEl:p2list):p2list; begin end; function deletefirstElement2(var pH:p2list):p2list; begin end; procedure disposeList2(var pH:p2list); begin end; function countElements2(pH:p2list):integer; begin end; procedure listAction2(ph:p2list; proc:TListAction2); begin end; end.