Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕЕНЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
Стек, очередь Отчет по практической работе №4
По дисциплине «Структуры данных»
Студент гр. ххххх
________ ххххх
________
Принял Преподаватель КИБЭВС
________ ххххх
________
Томск 2022
Задание
Продемонстрировать типовые функции работы со стеком:
1)удалить из стека - возвращать удаляемый элемент возвращается по результату работы метода;
2)добавить в стек;
3)число элементов стека;
4)взять верхний элемент стека без удаления.
Очередь:
1)число элементов в очереди;
2)удалить из очереди;
3)добавить в очередь;
4)получить первый элемент из очереди без удаления из нее.
2
Содержание
1 Введение …………………………………………………………………………... 4
2 Ход работы ………………………………………………………………………... 5
2.1Реализация стека …………………………………………………………. 5
2.2Реализация очереди ……………………………………………………… 7 3 Заключение ……………………………………………………………………… 10
Приложение А ………………………………………………………………..…… 11
3
1 Введение
Цель работы заключается в том, чтобы овладеть навыками работы с метода стека и очереди, а также их реализации на языке программирования C#.
4
2 Ход работы
Стек — это структура данных, представляющая собой список элементов,
организованных по принципу «последним пришёл — первым вышел».
Очередь – это последовательный список переменной длины, в котором включение элементов производится на одном конце, а исключение на другом, то есть по принципу «первым пришел - первым ушел».
2.1 Реализация стека
Для реализации стека был использован метод NodeStack<T>, а также добавлены функции удаления элемента, добавления элемента, функция нахождения длины стека, а также вывода верхнего элемента без его удаления.
Для добавления элементов в стек, использовался метод Push. Реализация добавления элементов представлена на рисунке 2.1. Последний элемент передает ссылку на добавленный, и добавленный элемент становится последним.
Рисунок 2.1 - метод Push для стека
Для удаления элемента был написан метод Pop (рисунок 2.2).
Предпоследний элемент становится последним. Последний элемент присваивается во временную переменную и выводится на консоль.
5