На этом шаге мы рассмотрим первый случай включения звена в список.
На этом шаге мы рассмотрим алгоритм включения звена в список после звена, на которое указывает заданная ссылка.
Предположим, что имеется однонаправленный список с заглавным звеном, и необходимо вставить звено с заданным информационным полем после звена, на которое указывает ссылка Res. Вставка звена осуществляется по следующему алгоритму.
q = new (node);
Рис.1. Зарезервировали место под элемент списка
(*q).elem = el;
Рис.2. Заполнение информационного поля
(*q).sled = (*Res).sled;
Рис.3. Заполнение поля указателя вставляемого элемента
(*Res).sled = q;
Рис.4. Изменение указателя у предыдущего элемента
Алгоритм оформим в виде функции.
void VSTAV (node **Res, int el) // Включение звена с информационным полем el //после звена, на которое указывает ссылка *Res. { node *q; q = new (node); (*q).elem = el; (*q).sled = (**Res).sled; (**Res).sled = q; }
На следующем шаге мы рассмотрим второй случай алгоритма вкючения в список звена.