Шаг 17.
Добавление звена к очереди

    На этом шаге мы рассмотрим алгоритм добавления звена к очереди.

    Приступим к описанию алгоритма добавления звена к очереди. Напомним, что звено добавляется в конец очереди.


Рис.1. Исходная очередь

  1. Вначале построим добавляемое звено:
        r = new (node);
        (*r).elem = Элем;
        (*r).sled = NULL;
    


    Рис.1. Заполнение добавляемого звена

  2. Присоединяем звено к очереди:
        (*ko).sled = r;
    


    Рис.2. Результат присоединения звена

  3. "Настраиваем" указатель ko на конец очереди:
        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;}
}

    На следующем шаге мы рассмотрим алгоритм удаления звена из очереди.




Предыдущий шаг Содержание Следующий шаг