Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Динамические структуры.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
434.69 Кб
Скачать

Работа со стеком

Для работы со стеком необходимо иметь только один указатель на вершину стека (возьмем идентификатор Тор) и один временный указатель (возьмем идентификатор Р), который используется для выделения и освобождения памяти для элементов стека.

Создание стека

1. Исходное состояние:

Тор

Р

nil

?

Top := nil;

2. Выделение памяти под первый элемент стека и внесение в него информации.

Тор

Р

nil

New(P);

5

P^.Inf := 5;

nil

P^.Link := nil;

3. Установка вершины стека Тор на созданный элемент:

Тор

Р

Top := P;

5

nil

Добавление элемента

1. Исходное состояние:

Р

?

?

Тор

3

1

5

nil

2. Выделение памяти под новый элемент стека

Р

?

New(p);

?

Тор

3

1

5

nil

3. Задание значения информационному полю нового элемента стека и установкая связи между ним и старой вершиной стека, адрес которой находится в Тор.

Р

10

P^.Inf := 10;

Тор

P^.Link := Top;

3

1

5

nil

4. Перемещение вершины стека Тор на новый элемент

Р

10

Тор := Р;

Тор

3

1

5

nil