Организация списка типа стек

Поскольку каждый вновь добавленный элемент размещается в начале списка то указатель на начало списка всегда будет связан с вновь добавляемым элементом.

Пример: Организация стека из трех элементов:

Type

Pn=^node;

Node=record

Info:byte;

Next:pn;

End;

Var

B,c:pn;

I:byte;

.

.

B:=nil;{1}

For I:=1 to 3 do

Begin

New(c);{2}

C^.next:=b;{3}

c^.info:=I;{4}

b:=c;{5}

End;

Комментарии

1-указатель на вершину списка устанавливается в nil (вершина списка неопределенна).

2-в динамической памяти выделяется место под очередной создаваемый элемент адрес которого записывается в С.

3- формируется поле next узла куда заноситься адрес предыдущего узла списка или значение nil если создаваемый узел первый (в списке он будет последним).

4-формируеться значение информационной части узла.

5-формируеться значение указателя В созданный узел становиться первым.

Схема формирования списка.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: