На этом шаге мы рассмотрим алгоритм добавления звена к очереди.
Приступим к описанию алгоритма добавления звена к очереди. Напомним, что звено добавляется в конец очереди.
Рис.1. Исходная очередь
r = new (node); (*r).elem = Элем; (*r).sled = NULL;
Рис.1. Заполнение добавляемого звена
(*ko).sled = r;
Рис.2. Результат присоединения звена
ko = r;
Изобразим результат добавления звена:
Рис.3. "Настройка" указателя
В результате добавляемое звено стало последним звеном очереди.
Оформим алгоритм в виде функции на языке C++:
void DOBAVLENIE (node **no, node **ko,int el) // Добавление звена с информационным полем el //* к очереди, определенной указателями *no и *ko. { node *r; r = new (node); (*r).elem = el; (*r).sled = NULL; if (*no!=NULL) { (**ko).sled = r; *ko = r;} else { *no = r; *ko = r;} }
На следующем шаге мы рассмотрим алгоритм удаления звена из очереди.