Шаг 36.
Добавление звена в конец дека

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

    Алгоритм добавления звена в конец дека заключается в выделении памяти под новый элемент и включение его в конец дека:

    q = new(node);
    (*q).elem = Элем;
    (*q).sled = NULL;
    (*q).pred = *kd;
    (*kd).sled = q;
    *kd = q;


Рис.1. Вставка звена в конец дека

    Приведем текст функции:

void InsRight (node **nd, node **kd,int el)
// Добавление звена, содержащего элемент el, в дек справа.
// *nd - указатель на начало дека.
// *kd - указатель на конец дека.
{
  node *q;

  q = new(node);
  (*q).elem = el;
  if (*kd==NULL)
    {// Если дек пуст, то... 
      *nd = q; (*q).sled = (*q).pred = NULL; *kd = q;}
  else
    { (*q).sled = NULL; (*q).pred = *kd; (**kd).sled = q; *kd = q;}
}

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




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