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

Практика 4(СД)

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

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

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

Кафедра комплексной информационной безопасности электронно-

вычислительных систем (КИБЭВС)

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

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

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

_______ И.С. Максимов

__.__.2025

Доцент кафедры КИБЭВС

_______ Е.Е. Лунёва

__.__.2025

Томск 2025

 

Оглавление

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

3

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

4

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

6

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

7

МОГУТ БЫТЬ ПРОБЛЕМЫ С СОДЕРЖАНИЕМ В PDF

2

Введение

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

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

1.Удаление из стека,

2.Добавление в стек,

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

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

Для очереди требуется реализовать:

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

2.Удаление из очереди,

3.Добавление в очередь.

3

1.Ход работы

Входе работы были созданы классы Stack и Queue. Для каждого из них были созданы методы в соответствие с заданием. Методы представлены в таблице 1.1.

Таблица 1.1 – Описание классов стека и очереди

Классы

Stack

Queue

 

 

Методы классов и их описание

 

 

Метод Push() — добавляет новый

Метод Enqueue() — добавляет

элемент в стек.

элемент в конец очереди.

 

 

Метод Pop() — удаляет верхний

Метод Dequeue() — удаляет элемент

элемент из стека и возвращает его

из начала очереди.

значение.

 

 

 

Метод Peek() — возвращает значение

Метод Peek() — возвращает значение

верхнего элемента стека без

верхнего элемента стека без

удаления.

удаления.

 

 

Метод Count() – считает количество

Метод Count() – считает количество

элементов.

элементов.

 

 

Пример работы программы приведён на рисунках 1.1, 1.2, 1.3.

Рисунок 1.1 – Выбор структуры для работы

4

Рисунок 1.2 – Выбор действия для работы со структурой и его выполнение

Рисунок 1.3 – Значение добавлено в стек

5

Заключение

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

работы со стеком и очередью, посредством реализации с ними типовых

функций.

6

Приложение А

Листинг кода: using System;

class Node

{

public int Data; public Node Next;

public Node(int data)

{

Data = data;

Next = null;

}

}

class Stack

{

private Node top;

public Stack()

{

top = null;

}

7

public void Push(int data)

{

Node newNode = new Node(data); newNode.Next = top;

top = newNode;

}

public int? Pop()

{

if (top == null) return null;

int value = top.Data; top = top.Next; return value;

}

public int? Peek()

{

if (top == null) return null; return top.Data;

8

}

public int Count()

{

int count = 0; Node current = top;

while (current != null)

{

count++;

current = current.Next;

}

return count;

}

public override string ToString()

{

if (top == null) return "(empty)";

Node current = top; string result = ""; while (current != null)

9

{

result += current.Data + " -> "; current = current.Next;

}

return result + "null";

}

}

class Queue

{

private Node head; private Node tail;

public Queue()

{

head = null; tail = null;

}

public void Enqueue(int data)

{

Node newNode = new Node(data);

10

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