Представление односвязного списка
Односвязный линейный список
Списочные структуры
При выборе структуры хранения для некоторых данных, необходимо помнить, что помимо самих данных требуется хранить структурные связи каждого элемента данных с другими элементами. Так, например, для строки символов существенными являются не только сами символы, но и порядок их следования. Таким образом, элемент данных (символ) структурно связан с предыдущим и последующим элементом. Элемент числовой матрицы имеет соседей слева, справа, сверху и снизу. При последовательном распределении памяти структурные связи отображаются на физическое расположение элементов структуры данных в памяти. Так, для строки следующий символ располагается вслед за текущим.
В случае связанного распределения памяти, адреса элементов, структурно связанных с элементом данных, хранятся вместе с этим элементом.
В качестве примера рассмотрим представления символьной строки в виде линейного списка. Каждый элемент данных хранит один символ и указатель на следующий элемент списка:
struct NODE{
char Letter; // символ
NODE *Next; // указатель на следующий элемент
};
Слово "КОРА" будет представлено списком, изображенном на рис 5.
Рис 5. Представление строки линейным списком