Добавяне на елемент към края на списъка

6. Премахване на елемент от списъка. Там са възможни четири случая:

а) Премахване на един елемент След отстраняване списъка елемент става празен, затова е необходимо не само да се освободи паметта разпределени за елемента настаняване, но в първия списък показалеца влиза nill: а) да се разпорежда (първо); б) първа: = nill;

г) отстраняване на последния елемент а) х: = Pred ^ .adr; б) Предвиждане ^ .adr: = нула; в) разпорежда (х);

Задача 1. Създаване на програма за създаване на свързан списък по време на въвеждането на данните.

Купчината се нарича динамична структура от данни, добавяне на компонент, в който компонентите и елиминирането на които е направена от единия край, наречени на върха на купчината. Купчината работи на принципа: LIFO (Last-In, First-Out) - последна входяща, първи обслужен.

Обикновено над купища ще се представят три дейности:

  1. първоначалното образуване на стека (напишете първия компонент);
  2. добавяне на компоненти на пакета;
  3. избор компоненти (отстраняване).

За образуването на стека и работата с него е необходимо да има две променливи от тип указател, първият от които определя горната част на стека, а втората - на добавка. Нека описание на тези променливи има следния вид:

Var pTop, pAux: Стрелката;

където pTop - стека указател;

pAux - спомагателен показалеца.

Пример 2. Създайте програма, която представлява купа, добавя случаен брой компоненти, а след това чете всички компоненти и ги показва на екрана като данни символен низ за да предприеме. Въвеждане на данни - клавиатура с дисплей, в знак на края на входа - низ от символи END.


Програма, стека; използва CRT тип Алфа = String [10]; PComp = ^ Comp; Comp = Запис на SD: Alfa; pNext: край PComp; Var pTop: PComp; SC: Алфа; Процедура CreateStack (VAR pTop: PComp; Var SC: Alfa); започва нов (pTop); pTop ^ .pNext: = NIL; pTop ^ .sD: = SC край; Процедура AddComp (Var pTop: PComp; Var SC: Alfa); Var pAux: PComp; започнем NEW (pAux); pAux ^ .pNext: = pTop; pTop: = pAux; pTop ^ .sD: = SC край; Процедура DelComp (VAR pTop: PComp; Var SC: ALFA); започне SC: = pTop ^ .sD; pTop: = pTop ^ .pNext край; започнем Clrscr; writeln ( 'въведете низ'); readln (SC); CreateStack (pTop, SC); Повтарям writeln ( 'Въведете низ'); readln (SC); AddComp (pTop, SC), докато НС = 'края; writeln ( "Резултати ОТЧИТАНЕ'); повтаря DelComp (pTop, SC); writeln (SC); докато pTop = NIL; readkey; край.

Задачи за изпълнение:

1. Описанията на програмата

Var Р, Q: ^ число; R: ^ знак;

Кое от следното изявление обърка и защо?