Шаг 25.
Проход по линейному двунаправленному списку, начиная с его начала

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

    Алгоритм перемещения может быть следующим.

    Установим указатель rsp на звено, следующее за заглавным. Далее, в цикле указатель будем перемещать по списку "с помощью" оператора rsp = (*rsp).sled;. "Движение" указателя продолжается, пока rsp<>NULL.


Рис.1. "Начальная позиция"

    Алгоритм оформим в виде функции:

void VyvodForward (node **nsp, node **ksp)
// Вывод содержимого двунаправленного списка от его начала.
// *nsp - указатель на начало списка,
// *ksp - указатель на конец списка.
{ 
  node *rsp;
  rsp = (**nsp).sled;
  cout<<"Двунаправленный список содержит: ";
  while (rsp!=NULL)
    { cout<<(*rsp).elem; rsp = (*rsp).sled;}
  cout<<endl;
}

    На следующем шаге мы рассмотрим другой способ перемещения по списку.




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