Лабораторная работа №10
Разработка и отладка алгоритмов и программ c использованием динамических структур данных.
Цель: научиться применять знания о динамических структурах данных при решении практических задач.
Теоретические сведения
Динамические структуры данных
Линейные списки
printf("%d ",pv->d);
Стек
printf("%d ",pop(&top));
Очередь
printf("%d ",del(&pbeg));
Бинарное дерево
Задание
1. Проанализируйте теоретический материал.
2. Реализуйте, описанный в теоретической части программный код (дек, стек, очередь).
3. Реализуйте функцию для динамической структуры, описанной в индивидуальном задании.
4. Составьте отчет по приведенному образцу.
Варианты для самостоятельного решения
Вариант 1
Дек. Функция sort для сортировки дека методом пузырька
Вариант 2
Стек. Функция popNull для извлечения всех элементов, у которых значение нулевое.
Вариант 3
Очередь. popNull Функция для извлечения всех элементов, у которых значение не нулевое.
Вариант 4
Стек. Функция popPrime для извлечения элементов, у которых значение простое число (по одному элементу).
Вариант 5
Очередь. Функция shift для циклического сдвига элементов на k влево.
Вариант 6
Дек. Функция shift для циклического сдвига элементов на k вправо.
Вариант 7
Стек. Функция notNullcontinuity для извлечения наибольшей последовательности элементов с ненулевыми значениями.
Вариант 8
Очередь.Функция addOdd для добавления элементов перед первым элементом с нечетным значением, содержащимся в очереди (по одному значению).
Вариант 9
Стек.Функция addEven для добавления элементов перед первым элементом с четным значением, содержащимся в стеке (по одному значению).
Вариант 10
Дек. Функция delEven для удаления всех элементов, у которых значение четное.
Вариант 11
Стек. Функция delOdd для добавления элементов перед первым элементом с нечетным значением, содержащимся в очереди (по одному значению).
Вариант 12
Дек. Функция notNullcontinuity для вывода наибольшей последовательности элементов с ненулевыми значениями.
Вариант 13
Стек. Функция delNegative для удаления всех элементов, у которых значение отрицательно.
Вариант 14
Очередь. Функция delPositive для удаления всех элементов, у которых значение положительно.
Вариант 15
Стек. Функция exchMaxMin для перестановки элементов, с максимальным и минимальным значениями.
Вариант 16
Очередь. Функция sumMaxMin для вычисления суммы значений элементов, находящихся между элементами с максимальным и минимальным значениями.
Вариант 17
Стек. Функция prodMaxMin для вычисления суммы значений элементов, находящихся между элементами с максимальным и минимальным значениями.
Вариант 18
Дек. Функция sumMaxMin для вычисления суммы значений элементов, находящихся между элементами с максимальным и минимальным значениями.
Вариант 19
Очередь. Функция popPrime для извлечения элементов, у которых значение простое число (по одному элементу).
Вариант 20
Дек. Функция prime для вывода элементов, у которых значение простое число (по одному элементу).
Вариант 21
Очередь. Функция exchMaxMin для перестановки элементов, с максимальным и минимальным значениями.
Вариант 22
Очередь. Функция delNegative для удаления всех элементов, у которых значение отрицательно.
Вариант 23
Очередь. Функция notNullcontinuity для вывода наибольшей последовательности элементов с ненулевыми значениями.
Вариант 24
Стек. Функция count для вывода количества элементов с ненулевыми значениями.
Вариант 25
Очередь. Функция count для вывода количества элементов с нулевыми значениями.
Вариант 26
Дек. Функция count для вывода количества элементов с положительными значениями.
Вариант 27
Дек. Функция count для вывода количества элементов с положительными значениями.
Вариант 28
Дек. Функция count для вывода количества элементов с простыми значениями.
Вариант 29
Очередь. Функция count для вывода количества элементов с простыми значениями.
Вариант 30
Стек. Функция count для вывода количества элементов с простыми значениями.