Отчет по практике программиста.
Динамические структуры данных
Цель: Изучить динамические структуры данных — стек, очередь и двунаправленный список. Практически применить теоретические знания языка программирования С.
Теоретические сведения:
Стек и очередь реализуется в виде списка, поэтому первоначально необходимо реализовать функции работы со списочными структурами данных. Рассмотрим вариант двунаправленного списка
Двунаправленный список — список каждый элемент которого содержит два указателя — указатели на следующий и предыдущий элементы в списке.
Обычно работа с двунаправленным списком производится с помощью следующих методов:
1. Методы добавления элементов:
prepend — добавление элемента в начало списка
append — добавление элемента в конец списка
insert — добавление элемента в заданную позицию списка
2. Методы удаления элементов:
remove — удаление текущего элемента списка
delete — удаление заданного элемента списка (по номеру элемента)
3. Методы доступа к элементам:
getFirst — возвращает указатель на первый элемент списка;
getLast — возвращает указатель на последний элемент списка;
current — возвращает указатель на текущий элемент списка;
4. Методы перемещения по списку
next — возвращает указатель на следующий элемент списка и делает его текущим или NULL в случае ошибки;
prev — возвращает указатель на предыдущий элемент и делает его текущим или NULL в случае ошибки;
last — возвращает указатель на последний элемент списка и делает его текущим или NULL в случае ошибки;
first — возвращает указатель на первый элемент списка и делает его текущим или NULL в случае ошибки;
Стек — упорядоченный набор элементов, в котором занесение (добавление) новых элементов и удаление (выборка) существующих производятся только с одного его конца, называемого вершиной стека. Стек представляет собой структуру
данных со способом доступа LIFO (Last In — First Out)
Обычно работа со стеком производится с помощью методов push(), pop(), top() и empty().
Метод push() заносит значение в стек, возвращая признак ошибки. Метод empty() возвращает признак того, является ли стек в данный момент пустым. Методы pop() и top() позволяют прочитать вершину стека (т.е. последний занесенный в него элемент) с выборкой этого элемента или без выборки соответственно; эти методы не возвращают признака ошибки, поэтому перед их использованием необходимо убедиться в том, что стек не пуст.
Очередь — упорядоченный набор элементов, которые могут удалятся с одного ее конца (начало очереди) и помещаться в другой конец (конец очереди). Очередь (Queue) представляет собой структуру данных со способом доступа FIFO (First In — First Out)
Обычно работа с очередью производится с помощью методов endqueue(), dequeue(),queue() и empty().
Метод endqueue() помещает значение в конец очереди, возвращая признак ошибки. Метод empty() возвращает признак того, что очередь в данный момент пуста. Методы dequeue() и queue() позволяют выбрать элемент из начала очереди (т.е. последний занесенный в нее элемент) с извлечением этого элемента или без соответственно; эти методы не возвращают признака ошибки, поэтому перед их использованием необходимо убедиться в том, что очередь не пуста.
Порядок выполнения работы:
Ознакомится с методическими рекомендациями;
- Разработать структуры данных и реализовать их в отдельном файле
- Реализовать, ввести и отладить функции работы с двунаправленным списком
- Реализовать, ввести и отладить функции работы со стеком на основе функций реализованных в п. 3
- Реализовать, ввести и отладить функции работы с очередью на основе функций реализованных в п. 3
- Разработать и ввести тестовую программу для демонстрации работы функций реализованных в п.п. 3-5
- Оформить отчет по лабораторной работе.
Готовые отчеты по практике по программированию:
Тема | Год сдачи | Страниц | Цена |
---|---|---|---|
2021 г.
|
40 стр.
|
Купить за 500 ₽
|
|
2022 г.
|
44 стр.
|
Купить за 500 ₽
|
|
2017 г.
|
26 стр.
|
Купить за 1400 ₽
|