Запись новых компонент

Пример. Пусть имеется цепочка динамических переменных:

Цепочка динамических переменных

Переменные имеют тип stackcomp:

type
	…
	stackcomp = record
		I: integer;
		P: stackp
	end;

Требуется вставить в цепочку новую компоненту “3” перед компонентой “4”, если известен указатель newp -> “3”.

Для записи этой новой компоненты достаточно выполнить операторы:

newp^.P := L^.P;
L^.P := newp;

Первый оператор засылает в поле указателя новой компоненты

Новый компонент

ссылку на компоненту “2”. Эта ссылка находится в поле указателя последней компоненты

Ссылка

т.е. получается следующий вид:

Схема связанных переменных

Второй оператор помещает в поле указателя компоненты “4” ссылку на компоненту “3”. Получается следующая картина:

Образование новой связи