Добавлен: 30.11.2023
Просмотров: 37
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра АПУ
ОТЧЕТ
по лабораторной работе 2
по дисциплине «Программирование»
Тема: Поиск образца в тексте: очередь.
Студент гр. 2392 | | Малимон Г.Д |
Преподаватель | | Власенко С.В |
Санкт-Петербург
2023
Задание.
Требуется разработать программу обеспечивающую:
построение линейного односвязного линейного списка типа «очередь». (информационные части узлов должны иметь целочисленный тип и заполняться путем последовательного ввода значений с клавиатуры; признак окончания ввода – введенный 0);
обработку созданного списка с выполнением следующих функций:
а) вставку узлов с информационной частью = 1 во все позиции списка, предшествующие узлам с отрицательной информационной частью
б) удаление всех узлов списка, содержащих в информационной части отрицательные числа;
в) расчет количества вхождений заданного с клавиатуры числа в информационные поля узлов;
г) рекурсивное удаление всех узлов списка.
Выполнение
-
Структура Node для хранения чисел
рис.1 - структура node
-
Функция заполнения очереди числамми вводом с клавиатуры, работает через 2 указателя: в первом текущий элемент списка, во втором следующий элемент, это сделано, чтобы при добавлении нового числа в лист его можно было связать с предыдущим.
Рис.2 - ввод данных
-
Функция вставки единиц после отрицательных, просто создаёт элемент связанный с отрицательным
Рис.3 - функция вставки единиц
-
Удаление отрицательных, идёт по списку и если встречает отрицательное связывает предыдущее со следующим и удаляет текущий
Рис.4 - удаление
-
Поиск с подсчётом просто идёт по списку и считает
Рис.5 - подсчёт
-
Вывод
Рис.6 - вывод.
7. Рекурсивная очистка каждый раз удаляет head
Рис.7 - рекурсивная очистка
Выводы.
Изучены основы работы со структурами, указателями, односвязными линейными списками и структурой данных под названием очередь.