Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СДлб4

.pdf
Скачиваний:
3
Добавлен:
27.11.2022
Размер:
608.83 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра безопасности информационных систем (БИС)

СТЕКИ И ОЧЕРЕДИ

Отчет по практической работе №4

по дисциплине «Структуры данных»

Студент гр. 731-2

А.С. Батаев

Принял:

преподаватель КИБЭВС

Д.Р. Уразаев

Томск 2022

СОДЕРЖАНИЕ

1

Введение.......................................................................................................................................

3

2

Ход работы ...................................................................................................................................

4

Заключение ...................................................................................................................................

10

2

1 Введение

Данная работа посвящена реализации стека и очереди с использованием динамических структур. Во время работы будет реализован односвязный список на языке программирования c#

Задание: Требуется реализовать стек и очередь и создать методы для добавления и удаления элементов, а также проверки длинны этих структур и проверки первого элемента структуры.

3

2 Ход работы

Весь код программы представлен в приложении А.

По заданию был реализован класс Node, который отвечает за инициализацию и переопределение стека (Рисунок 2.1).

Рисунок 2.1-Класс Node

Далее по заданию был реализован публичный класс Stack.

Была объявлена переменная head, эта переменная отвечает за хранение элемента начала стека. Так же была объявлена публичная переменная count, переменная count

служит для хранения размера стека. Переменные head и count представлены на рисунке 2.2.

Рисунок 2.2-Переменные head и count

Для возвращения размера стека был реализован метод Len. Метод Len

представлен на рисунке 2.3.

Рисунок 2.3-Метод Len

4

Для удаления первого элемента стека был реализован метод Pop. Если размер стека равен 0, то возвращается значение 0 и в консоль выводится сообщение, что стек не содержит элементов. После проверки на наличие элементов в переменную point

присваивается значение начала списка, после этого указатель на начало списка смещается. Метод возвращает удалѐнный элемент. Метод Pop представлен на рисунке

2.4.

Рисунок 2.4-Метод Pop

Метод Push нужен для добавления элемента в начало стека. Для этого метод принимает целочисленное значение. Далее это значение встаѐт в начало стека, размер стека увеличивается на единицу. Метод Push представлен на рисунке 2.5.

Рисунок 2.5-Метод Push

Метод Check возвращает элемент, который находится сверху стека. Метод

Check представлен на рисунке 2.6.

5

Рисунок 2.6-Метод Check

Для возвращения размера очереди был реализован метод Len представленный на рисунке 2.7.

Рисунок 2.7-Метод Len

Для удаления первого элемента стека был реализован метод Delete. Если размер стека равен 0, то возвращается значение 0 и в консоль выводится сообщение, что очередь не содержит элементов. После проверки на наличие элементов в переменную point присваивается значение начала списка, после этого указатель на начало списка смещается. Метод возвращает удалѐнный элемент. На рисунке 2.8 представлен метод

Delete.

Рисунок 2.8-Метод Delete

Метод Add нужен для добавления элемента в конец очереди. Для этого метод принимает целочисленное значение. Далее это значение встаѐт в конец очереди,

размер очереди увеличивается на единицу, последний добавленный элемент

принимает значение tail. На рисунке 2.9 представлен метод Add.

6

Рисунок 2.9-Метод Add

Метод Check возвращает элемент, который находится в начале очереди. На рисунке 2.10 представлен метод Check.

Рисунок 2.10-Метод Check

Метод Main находится в классе Program. Метод Main можно увидеть на рисунке

2.11-12.

7

Рисунок 2.11-Метод Main

8

Рисунок 2.12-Метод Main

9

Заключение

Во время лабораторной работы была проведена реализация стек и очереди.

Были реализованы четыре метода. Очередь и стек были реализованы с помощью односвязных списков. Были получены навыки работы с динамическими списками на базе языка программирования c#.

10

Соседние файлы в предмете Структуры данных