- •Процедуры работы со стеком
- •Занесение элемента в стек
- •Выборка и удаление из стека
- •Процедуры работы с очередью
- •Занесение элемента в очередь
- •Выборка и удаление элемента из очереди
- •Примеры реализации операций обработки списков
- •1) Удаление из списка k-го по счету элемента
- •Особые случаи:
- •Процедура удаления
- •Begin
- •2) Включение в список элемента перед k-м по счету
- •Особые случаи:
- •Процедура включения
- •Begin
- •3) Обмен первого и предпоследнего элементов списка
- •procedure change_node(var PSP:u);
procedure change_node(var PSP:u);
{обмен первого и предпоследнего элементов списка}
var q,s,t:u;
ch:char; begin
if (PSP=nil) or (PSP^.ukz=nil) or (PSP^.ukz^.ukz=nil) then
begin
WriteLn(‘Обработка невозможна');
Exit end;
21
{поиск предпоследнего элемента} q:=PSP;
s:=PSP^.ukz;
while s^.ukz^.ukz<>nil do
{s-указатель на предпосл.элемент} begin
q:=s;
s:=s^.ukz;
end;
7 |
|
|
|
|
6 |
|
|
|
|
9 |
|
|
|
|
4 |
|
|
|
|
1 |
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
psp |
|
|
|
|
|
|
|
|
|
|
|
|
q |
|
|
|
s |
22 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if q=PSP then
{особ.случай-обмен 1-го и 2-го элем-ов}
begin q^.ukz:=s^.ukz; s^.ukz:=q; PSP:=s;
Exit end;
Psp,q s
7 |
|
|
|
|
6 |
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
psp |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23
{общий случай} t:=PSP^.ukz; PSP^.ukz:=s^.ukz; s^.ukz:=t; q^.ukz:=PSP;
PSP:=s; end;
psp |
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
psp |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
6 |
|
|
|
|
9 |
|
|
|
|
4 |
|
|
|
|
|
1 |
|
|
|
|
8 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q |
|
|
|
s |
|
24 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|