На этом шаге мы рассмотрим один из способов перемещения по списку.
Алгоритм перемещения может быть следующим.
Установим указатель 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; }
На следующем шаге мы рассмотрим другой способ перемещения по списку.