
- •Типы данных, определяемые пользователем Оператор typedef
- •Перечислимые типы
- •Перечислимые типы
- •Структуры
- •Структуры
- •Структуры
- •Структуры
- •Инициализация структур
- •Присваивание структур
- •Доступ к элементам структур
- •Указатели на структуры
- •Указатели на структуры
- •Структуры как параметры
- •Битовые поля
- •Объединения
- •Объединения
- •Связанные динамические данные
- •Связанные динамические данные
- •Организация взаимосвязей в связанных динамических данных
- •Организация взаимосвязей в связанных динамических данных
- •Работа с очередью
- •Работа с очередью
- •Работа с очередью
- •Работа с очередью
- •Добавление элемента в очередь
- •Добавление элемента в очередь
- •Добавление элемента в очередь
- •Удаление элемента из очереди
- •Удаление элемента из очереди
- •Удаление элемента из очереди
- •Пример создания очереди
- •Пример создания очереди
- •Пример создания очереди
- •Пример создания очереди
- •Работа со стеком
- •Работа со стеком
- •Работа со стеком
- •Добавление элемента в стек
- •Добавление элемента в стек
- •Добавление элемента в стек
- •Добавление элемента в стек
- •Удаление элемента стека
- •Удаление элемента стека
- •Удаление элемента стека
- •Пример создания стека

Пример создания очереди
1)функция Add, в зависимости от состояния очереди создает первый или добавляет очередной элемент в конец очереди;
2)функция Del извлекает информацию из начального элемента очереди с последующим освобождением его памяти;
3)функция Show отображает элементы очереди.
31

Пример создания очереди

Пример создания очереди
33

Пример создания очереди
34

Работа со стеком
Для работы со стеком, в отличие от очереди, необходимо иметь один основной указатель на вершину стека (идентификатор Тор) и один дополнительный временный указатель (идентификатор Р), который используется для выделения и освобождения памяти элементов стека.
Создание стека
1. Исходное состояние:
Top P
NULL |
|
|
|
|
? |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
? |
35 |
|

Работа со стеком
2. Выделение памяти под первый элемент стека и внесение в него информации:
Top P
NULL
5 NULL
36

Работа со стеком
3. Установка вершины стека Тор на созданный элемент:
Top P
5 NULL
37

Добавление элемента в стек
1. Исходное состояние:
P? ?
Top |
|
|
|
|
|
|
|
|
|
|
3 |
||
|
|
|
||||
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
5 NULL
38

Добавление элемента в стек
2. Выделение памяти под новый элемент стека:
|
|
|
|
|
|
|
|
|
P |
|
|
? |
|
|
|
||
|
|
|
|
|
||||
|
|
|
|
|
||||
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
? |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Top |
|
|
3 |
|||
|
|
|
||||
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
5 NULL
39

Добавление элемента в стек
3. Внесение значения в информационное поле нового элемента и установка связи между ним и "старой" вершиной стека Тор:
P 10
Top |
|
|
|
|
3 |
|
|
|
|
||||
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
5 NULL
40