lec15
.pdfДинамические структуры данных. Смеси и поля.
Обзор.
I Статическое и динамическое представление данных;
Обзор.
IСтатическое и динамическое представление данных;
IОрганизация основных видов динамических структур данных, основные операции над ними;
Обзор.
IСтатическое и динамическое представление данных;
IОрганизация основных видов динамических структур данных, основные операции над ними;
IРекурсия при обработке динамических структур;
Обзор.
IСтатическое и динамическое представление данных;
IОрганизация основных видов динамических структур данных, основные операции над ними;
IРекурсия при обработке динамических структур;
IСмеси (объединения);
Обзор.
IСтатическое и динамическое представление данных;
IОрганизация основных видов динамических структур данных, основные операции над ними;
IРекурсия при обработке динамических структур;
IСмеси (объединения);
IБитовые поля.
Статическое и динамическое представление данных.
Статическое представление структур.
На каждый объект структурного типа struct mixture требуется для размещения
байт. Точный объем позволяет определить операция: sizeof(struct mixture).
Автореферентные структуры.
Во многих задачах требуется использовать данные, размеры которых могут меняться в процессе выполнения программы. Такие изменяемые данные называются динамические информационные структуры.
Определение. Автореферентные структуры - структуры, содержащие в качестве элемента указатель на структуру того же типа.
Здесь *pc указывает на структуру того же типа. Данный элемент иногда называют связкой.
Автореферентные структуры могут связываться вместе для образования структур данных таких как списки, очереди, стеки и деревья.
Односвязный список.
Наиболее простая динамическая информационная структура - односвязный список.
Односвязный список - это линейный набор автореферентных структур, называемых узлами и объединенных указателем
связкой.
Стеки и очереди так же принадлежат к линейным структурам. Деревья являются нелинейными структурами данных.
Пример программы.
Для демонстрации особенностей обработки списков программа: "Вввести с клавиатуры произвольное количество структур, объединяя их в односвязный список, а затем вывести на экран содержимое введенного списка в порядке формирования его звеньев."
Для работы со списком понадобятся 3 указателя: beg - на начало списка,
end - на последний элемент,
rex - указатель для перебора элементов списка от его начала.