👜22. Динамические структуры данных. Односвязный список, стек и очередь. Алгоритмы их обработки.
Динамические структуры данных - составные структуры данных, динамически меняющие свой размер во время выполнения программы.
Односвязный список
Однонаправленный (односвязный) список - динамическая структура данных, состоящая из узлов (Node). Каждый узел хранит значение и указатель на следующий узел. Последний узел хранит указатель на NULL.
// Пример реализации узла
struct Node {
Book data; //поле данных
struct Node* next; //укзатель на следующий элемент
};
Доступные операции:
Создание списка
Добавление элемента в список
Удаление узла списка
Удаление всего списка
Операции обхода списка
Создание списка
Добавление элемента в список:
Выделить память под элемент
Добавить в него ссылку на следующий
Связать предыдущий элемент с новым

Удаление элемента из списка:
Связать предыдущий и следующий
Очистить память от текущего

Удаление корня списка
Стек
Стек - динамическая структура данных, организованная по принципу LIFO (Last in first out).
std::stack - реализация стека

Очередь
Очередь - динамическая структура данных, организованная по принципу FIFO (First in first out).
std::queue - очередь

Last updated