unit ulist; interface type Plist=^Tlist; Tlist=record key:integer; pnext:plist; end; function createElement(key:integer):plist; procedure addfirstelement(var PH:plist; p:plist); procedure addlastelement(var PH:plist; p:plist); procedure InsertElement(prevEl:plist; p:plist); function deleteElement(prevEl:plist):plist; function deletefirstElement(var pH:plist):plist; procedure disposeList(var pH:plist); function countElements(pH:plist):integer; type TlistAction=procedure(key:integer); procedure listAction(ph:plist; proc:TListAction); implementation function createElement(key:integer):plist; begin end; procedure addfirstelement(var PH:plist; p:plist); begin end; procedure addlastelement(var PH:plist; p:plist); begin end; procedure InsertElement(prevEl:plist; p:plist); begin end; function deleteElement(prevEl:plist):plist; begin end; function deletefirstElement(var pH:plist):plist; begin end; procedure disposeList(var pH:plist); begin end; function countElements(pH:plist):integer; begin end; procedure listAction(ph:plist; proc:TListAction); begin end; end.