Представление односвязного списка

Односвязный линейный список

Списочные структуры

При выборе структуры хранения для некоторых данных, необ­ходимо помнить, что помимо самих данных требуется хранить струк­тур­ные связи каждого элемента данных с другими элементами. Так, например, для строки символов существенными являются не только сами символы, но и порядок их следования. Таким образом, элемент данных (символ) структурно связан с предыдущим и последующим элементом. Элемент числовой матрицы имеет соседей слева, справа, сверху и снизу. При последовательном распре­делении памяти структурные связи отображаются на физическое распо­ложение элементов структуры данных в памяти. Так, для строки следующий символ располагается вслед за текущим.

В случае связанного распределения памяти, адреса элементов, структурно связанных с элементом данных, хранятся вместе с этим элементом.

В качестве примера рассмотрим представления символьной строки в виде линейного списка. Каждый элемент данных хранит один символ и указатель на следующий элемент списка:

struct NODE{

char Letter; // символ

NODE *Next; // указатель на следующий элемент

};

 

Слово "КОРА" будет представлено списком, изображенном на рис 5.

 
 

Рис 5. Представление строки линейным списком