Отчет по Преддипломной Практике Программиста

отчет по практике программиста

Динамические структуры данных
Цель: Изучить динамические структуры данных- стек, очередь и двунаправленный список. Практически применить теоретические знания языка программирования С.

Теоретические сведения:

Стек и очередь реализуется в виде списка, поэтому первоначально необходимо реализовать функции работы со списочными структурами данных. Рассмотрим вариант двунаправленного списка

Двунаправленный список - список каждый элемент которого содержит два указателя - указатели на следующий и предыдущий элементы в списке.

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

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 позволяют прочитать вершину стека (т.е. последний занесенный в него элемент) с выборкой этого элемента или без выборки соответственно; эти методы не возвращают признака ошибки, поэтому перед их использованием необходимо убедиться в том, что стек не пуст.