Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_ОАиП.doc
Скачиваний:
47
Добавлен:
01.04.2025
Размер:
5.06 Mб
Скачать

Задания

1. Разработать алгоритм и программу решения задачи, в которой, используя стек вывести исходную строку символов в обратном порядке.

2. Разработать алгоритм и программу решения задачи, в которой проверить на равенство две очереди.

3. Разработать алгоритм и программу решения задачи, в которой сформировать односвязный линейный список.

4. Разработать алгоритм и программу решения задачи, в которой сформировать двусвязный линейный список.

5. Разработать алгоритм и программу решения задачи, в которой сформировать двусвязный линейный список и найти максимальный элемент списка.

6. Разработать алгоритм и программу решения задачи, в которой сформировать кольцевой односвязный список.

7. Разработать алгоритм и программу решения задачи, в которой построить бинарное дерево.

8. Разработать алгоритм и программу решения задачи, в которой, используя стек вывести исходную последовательность чисел в обратном порядке.

9. Разработать алгоритм и программу решения задачи, в которой сформировать очередь и подсчитать количество элементов сформированной очереди.

10. Разработать алгоритм и программу решения задачи, в которой сформировать односвязный линейный список и реализовать возможность удаления элемента.

11. Разработать алгоритм и программу решения задачи, в которой построить бинарное дерево и реализовать возможность удаления элемента.

12. Разработать алгоритм и программу решения задачи, в которой сформировать односвязный линейный список и найти минимальный элемент списка.

13. Разработать алгоритм и программу решения задачи, в которой сформировать двусвязный линейный список и реализовать возможность просмотра списка в обратном направлении.

14. Разработать алгоритм и программу решения задачи, в которой сформировать кольцевой односвязный список и реализовать возможность просмотра кольца с заданного элемента.

15. Разработать алгоритм и программу решения задачи, в которой сформировать двусвязный линейный список и реализовать возможность удаления элемента.

16. Разработать алгоритм и программу решения задачи, в которой сформировать две очереди и проверить, является ли одна из очередей частью другой.

Тема 12.4. Очереди. Основные операции над очередью.

Цель: Научиться разрабатывать алгоритмы и программы с использованием динамических структур данных.

План урока.

Очередь – линейный список, элементы в который добавляются только в конец, а исключаются из начала.

Изобразим очередь графически:

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

Итак, очередь – это вид связанного списка, в котором извлечение элементов происходит с начала списка, а добавление новых элементов – с конца.

Очередь является динамической структурой – с течением времени изменяется и ее длина, и набор составляющих ее элементов.

Опишем очередь на языке программирования:

Type

EXO = ^O;

O = record

Data : integer;

Next : EXO;

end;

Над очередью определены две операции: занесение элемента в очередь и извлечение элемента из очереди.

В очереди, в силу ее определения, доступны две позиции: ее конец, куда заносятся новые элементы, и ее начало, откуда извлекаются элементы. Поэтому для работы с очередью необходимо описать две переменные:

Var

BeginO, EndO : EXO;

где BeginO – соответствует началу очереди и будет использоваться для вывода элемента из очереди, EndO – соответствует концу очереди и будет использоваться для добавления новых элементов в очередь.