Линейные связанные структуры данных
Для организации связей между элементами динамической структуры данных требуется, чтобы каждый элемент содержал кроме информационных значений как минимум один указатель. Отсюда следует, что в качестве элементов таких структур необходимо использовать записи, которые могут объединять в единое целое разнородные элементы. В простейшем случае элемент динамической структуры данных (узел) должен состоять из двух полей: информационного (i) и указательного ( L). Соответствующие им объявления в Pascal будут иметь вид:
Type u = ^Uzl;
Uzl = Record
i :Integer;
L :u;
End;
Var h :u; { голова списка }
Правило: Тип указателя на элемент динамической структуры данных может и должен быть описан перед описанием типа этого элемента.
Схематично такую структуру данных можно показать следующим образом:
или в более простой форме, указывая только значения информационных полей:
Линейный список (ЛС) — это данные динамической структуры, которые представляют собой совокупность линейно связанных однородных элементов (узлов) и для которых разрешены следующие действия:
1) получить доступ к i-му узлу (читать, записать);
2) включить (вставить) новый узел перед i-м узлом;
3) удалить i-й узел;
4) объединить два (или более) списков в один список;
5) определить количество узлов в списке;
6) разбить список на два (или более) списков;
7) выполнить сортировку узлов по информационным полям узлов и т.п.;