Доклад: Основні принципи модульного програмування та стеки
curr:= first;
if curr^.number=reg then {якщопотрiбнийелементзнайдений}
first:=curr^.next {вилученняелемента }
else
repeat {пошукпотрiбногоелемента }
prev:=curr; {перепризначенняпокажчикiв }
curr:=curr^.next; {покажчикнапопереднiйелементстає
поточним покажчиком, покажчик на
поточний елемент вказує на наступний}
until (curr^.number=reg) or (curr^.next=nil);
{вилучення знайденого елемента та звiльнення пам'ятi}
if curr^.number=reg then {якщо елемент списку спiвпадає з заданим}
begin
prev^.next:=curr^.next; {переадресацiя покажчикiв}
dispose(curr); end {звiльненняпам'ятi}
else
begin {якщо елемент не знайдено}
writeln(reg,' not found in list. Press ENTER...'); {вивiдповiдомлення}
readln;
end;
end;
end; { кiнецьпроцедури delete }
{ вивiдспискунаекран }
procedure outlist;
begin
curr:=first; {поточний покажчик вказує на перший}
if curr=nil then writeln('List is empty')
else begin
writeln(' output list:');