Файл: Поиск образца в тексте очередь.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 36

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНОБРНАУКИ РОССИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра АПУ


ОТЧЕТ

по лабораторной работе 2

по дисциплине «Программирование»

Тема: Поиск образца в тексте: очередь.


Студент гр. 2392



Малимон Г.Д

Преподаватель




Власенко С.В



Санкт-Петербург

2023






Задание.


Требуется разработать программу обеспечивающую:

построение линейного односвязного линейного списка типа «очередь». (информационные части узлов должны иметь целочисленный тип и заполняться путем последовательного ввода значений с клавиатуры; признак окончания ввода – введенный 0);

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

а) вставку узлов с информационной частью = 1 во все позиции списка, предшествующие узлам с отрицательной информационной частью

б) удаление всех узлов списка, содержащих в информационной части отрицательные числа;

в) расчет количества вхождений заданного с клавиатуры числа в информационные поля узлов;

г) рекурсивное удаление всех узлов списка.

Выполнение


  1. Структура Node для хранения чисел





рис.1 - структура node


  1. Функция заполнения очереди числамми вводом с клавиатуры, работает через 2 указателя: в первом текущий элемент списка, во втором следующий элемент, это сделано, чтобы при добавлении нового числа в лист его можно было связать с предыдущим.






Рис.2 - ввод данных



  1. Функция вставки единиц после отрицательных, просто создаёт элемент связанный с отрицательным



Рис.3 - функция вставки единиц


  1. Удаление отрицательных, идёт по списку и если встречает отрицательное связывает предыдущее со следующим и удаляет текущий



Рис.4 - удаление


  1. Поиск с подсчётом просто идёт по списку и считает



Рис.5 - подсчёт


  1. Вывод



Рис.6 - вывод.

7. Рекурсивная очистка каждый раз удаляет head



Рис.7 - рекурсивная очистка

Выводы.


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