Лабораторная работа № 9.
Стек, очередь, дек
Описание

Разработать модули для работы с информационно-логическими структурами – стеком, очередью и деком. Модули должны обеспечивать следующие возможности работы со структурами:

Для каждой структуры написать две реализации: на основе динамического массива и на основе списка.

На основе базовых операций со структурами необходимо разработать следующие подпрограммы:

При всех операциях соблюдать правила работы с информационно-логическими структурами – доступ осуществляется только к первому и/или последнему элементу структуры. Для вывода и удаления перекладывать элементы структуры в другую аналогичную структуру.

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

К основной программе необходимо подключать модули для работы со всеми структурами (стеком, очередью и деком), при этом основная программа не должна меняться при подключении модуля с другой реализацией той же структуры.

В стек, очередь и дек вводить одни и те же данные (из одного и того же файла)!

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

После каждого изменения выводить содержимое структур.

Имена файлов передаются через параметры программы.

Тип данных Диапазон Удалять
1. целые числа от -20 до +60 элементы, кратные 5
2. вещественные числа от -19,9 до +59,9 отрицательные элементы
3. символы от а до я гласные буквы
4. целые числа от -100 до +100 чётные элементы
5. вещественные числа от -99,9 до +99,9 положительные элементы
6. символы от A до Z символы, большие D
7. целые числа от -20 до +60 элементы, большие 15
8. вещественные числа от -19,9 до +59,9 элементы, большие 28,6
9. символы от #33 до #94 знаки препинания
10. целые числа от -150 до +150 элементы, модуль которых больше 100
11. вещественные числа от -19,9 до +19,9 элементы, модуль которых больше 10
12. символы от А до Я символы Д и Е
13. целые числа от -15 до +25 нечётные элементы
14. вещественные числа от -39,9 до +9,9 положительные элементы
15. символы от a до z символы b и r
16. целые числа от -20 до +50 элементы, попадающие в диапазон -10..+30
17. вещественные числа от -4,99 до +14,99 элементы, попадающие в диапазон -1,5..+8,6
18. символы от a до z гласные буквы
19. целые числа от +10 до +1000 элементы, кратные 3
20. вещественные числа от -4,9 до +1,9 отрицательные элементы
21. символы от #65 до #250 символы кириллицы
22. целые числа от -30 до +50 элементы, большие 12
23. вещественные числа от -9,9 до +49,9 элементы, большие 27,8
24. символы от А до Я элементы, большие Ж
25. целые числа от -100 до +100 элементы, попадающие в диапазон -15..+43
26. вещественные числа от -99,9 до +99,9 элементы, попадающие в диапазон -50,6..+71,2
27. символы от A до Z элементы, попадающие в диапазон F..Q
28. целые числа от -20 до +50 нечётные элементы
29. вещественные числа от -24,99 до +34,99 элементы, модуль которых больше 7
30. символы от a до z элементы, попадающие в диапазон d..n
31. целые числа от -50 до +50 чётные элементы
32. вещественные числа от -9,9 до +9,9 положительные элементы
33. символы от A до Z символы, меньшие F
34. целые числа от -10 до +90 элементы, большие 15
35. вещественные числа от -59,9 до +89,9 элементы, большие -15,8
36. символы от #65 до #126 символы, отличные от буквы