Линейные связанные структуры данных

Для организации связей между элементами динамической структуры данных требуется, чтобы каждый элемент содержал кроме информационных значений как минимум один указатель. Отсюда следует, что в качестве элементов таких структур необходимо использовать записи, которые могут объединять в единое целое разнородные элементы. В простейшем случае элемент динамической структуры данных (узел) должен состоять из двух полей: информационного (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) выполнить сортировку узлов по информационным полям узлов и т.п.;