Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Program st;






Type

Pstack = ^ stack;

Stack = record

Data: integer;

Next: pstack;

End;

Var

x, y, verh: pstack;

a, b, i, n: integer;

Begin

verh: = nil; {стек пуст}

writeln (‘n=’);

Readln (n);

for I: = 1 to n do

Begin

new (y); { создание нового элемента стека – у получает адрес

свободной ячейки}

writeln (‘a=’); readln (a); { ввод с клавиатуры числа}

y^. data: = a; {информационная часть получает значение а, т.е. по

этому адресу в поле data записывается а }

y^. next: = verh; {адресная часть принимает значение указателя

вершины стека}

verh: = y; {указатель вершины принимает значение

адреса нового элемента}

End;

writeln (‘элементы стека: ’);

for i: = 1 to n do

Begin

b: = verh ^. data; { b принимает значение информационного поля

верхнего элемента}

writeln (‘b =’, b);

x: = verh; { указателю х присвоено значение указателя вершины

стека}

verh: = verh ^. next; {указатель вершины принимает значение

адреса следующего элемента стека}

dispose (x); {уничтожение указателя х, после чего ячейки,

содержавшие значение х ^ становятся свободными}

End;

Readln;

End.

При выполнении программы указатель verh вначале получает значение nil – стек пуст. Затем в цикле вводятся значения а: 1, 2, 3, 4. Эти значения заносятся в поле data элементов стека. Поле next при этом получает значение, на которое указывает verh.

verh
verh
1) 2)

 
 

 


3)

 

 

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

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

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.