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

Практики / ПР4 / СД_П4

.pdf
Скачиваний:
0
Добавлен:
27.06.2025
Размер:
369.43 Кб
Скачать

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

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

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

СТЕКИ И ОЧЕРЕДИ Отчет по практической работе №4

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

Студент гр. 733-1

_______ Сметанников Д.Е

_______

Принял:

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

_______ Д.Р. Уразаев

_______

Томск 2024

Задание

Реализовать на базе классов из практики 3 работу с очередью и со стеком.

Продемонстрировать типовые функции работы со стеком: -

1.удалить из стека - возвращать удаляемый элемент возвращается по результату работы метода,

2.добавить в стек,

3.число элементов стека,

4.взять верхний элемент стека без удаления.

Очередь:

1.число элементов в очереди,

2.удалить из очереди

3.добавить в очередь.

4.получить первый элемент из очереди без удаления из нее.

2

 

 

Содержание

 

Задание..................................................................................................................

.2

1

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

.4

2

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

5

 

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

9

 

Приложение А......................................................................................................

10

3

1Введение

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

4

2Ход работы

Push: Добавляет элемент на верхушку стека. Если стек был пуст, новый элемент становится и верхом, и основанием стека (рис.1)

Рисунок 1 — push

Pop: Удаляет и возвращает верхний элемент стека. Если стек пуст, вызывает ошибку. При удалении верхнего элемента обновляется указатель на верх (рис. 2)

Рисунок 2 — pop

Peek: Возвращает верхний элемент стека без его удаления. Если стек пуст, вызывает ошибку (рис. 3)

5

Рисунок 3 — peek

Count: Возвращает количество элементов в стеке. Считывает их, проходя по всем элементам, начиная с верхнего (рис. 4)

Рисунок 4 — count

PrintStack: Выводит все элементы стека в порядке от верхнего к нижнему. Позволяет визуализировать текущие элементы стека (рис. 5)

Рисунок 5 — printstack

6

Enqueue: Добавляет элемент в конец очереди. Если очередь была пустой, новый элемент становится и первым, и последним (рис. 6)

Рисунок 6 — enqueue

Dequeue: Удаляет и возвращает первый элемент очереди. Если очередь пуста, вызывает ошибку. Обновляет указатель на первый элемент после удаления (рис. 7)

Рисунок 7 - Dequeue

PeekFront: Возвращает первый элемент очереди без его удаления. Если очередь пуста, вызывает ошибку (рис. 8)

Рисунок 8 — peekfront

7

Count: Возвращает количество элементов в очереди. Считывает их, проходя от первого до последнего элемента (рис. 9)

Рисунок 9 — count

PrintQueue: Выводит все элементы очереди в порядке от первого к последнему. Позволяет вывести текущие элементы очереди (рис. 10)

Рисунок 10 — printqueue

8

Заключение

В ходе работы были успешно реализованы функциональные классы для стека и очереди. Мы продемонстрировали типовые операции, включая добавление и удаление элементов, а также получение значений без удаления.

9

Приложение А (обязательное)

Код

using System;

class Node

{

public int Value; public Node Next;

public Node(int value)

{

Value = value;

Next = null;

}

}

class MyList

{

protected Node head; protected Node tail;

public MyList()

10

Соседние файлы в папке ПР4