Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Do begin



p:= q;

q:= q^.next

End;

Dispose(p);

p^.next:= nil;

Print_Spisok

End;

6. Вставка элемента в список. Пусть необходимо вставить в список (алгоритм 1) новый элемент sl_new перед первым вхождением элемента sl_old, если sl_old входит в список. Добавим к разделу описаний алгоритма I описание переменных sl_new,sl_old: string; и fl:Boolean.

Begin

write('Введите искомое слово ');

Readln(sl_old);

write('Введите новое слово ');

Readln(sl_new);

fl:=false;

p:=head;

while (p<> nil) and not fl

do if p^.wd=sl_old

then fl:=true

else p:=p^.next;

If fl

then begin {Вставка элемента}

New(q);

q^.wd:=sl_old;

q^.next:=p^.next;

p^.wd:=sl_new;

p^.next:=q

End;

Print_Spisok;

End;

Организация стека в динамической памяти

Стек линейный односвязный список, для которого разрешено добавлять или исключать элементы только с одного конца списка – «вершины» стека.

Принцип работы стека: «последним пришел – первым вышел».

П р и м е р. Написать процедуры помещения элементов (целых чисел) в стек и извлечения их из стека.

Type pstack = ^element;

element = record

m: integer;

next: pstack

End;

Var p, st:pstack; {st - указатель на вершину стека}

i: integer;

k,n: integer;

Procedure put (n: integer); {n- параметр- значение}

begin {Помещает значение в стек}

new(p); {выделение памяти под новый элемент}

p^.m:=n; {заносим в него информацию}

p^.next:=st; {указательная часть предшествующего

элемента указывает на вершину стека}

st:=p

End;

Procedure get(var n: integer); {извлекает элемент





Дата публикования: 2014-10-25; Прочитано: 303 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...