Циклический список
В циклическом списке поле связи последнего узла указывает на начало списка, как это изображено на рис. 7.
Рис.7 Циклический список
Циклический список обычно представлен в программе указателем на хвост (Tail), так как получить в этом случае указатель на начало не представляет труда. Для циклических списков становятся простыми операции сцепления и расщепления. Рис. 8 иллюстрирует операцию расщепления по узлу P. Пунктиром изображено изменение связей после операции.
Рис.8 Расщепление списка
На языке СИ это может быть записано следующим образом:
NODE *x;
x=P->Next;
P->Next=Tail->Next;
Tail->Next=x;
Нетрудно заметить, что операция выполняет обмен местами указателей P->Next и Tail->Next. Следовательно, повторное применение той же операции приведет к сцеплению списков. Операция работает как кнопочный выключатель.
Дата добавления: 2014-12-02; просмотров: 966;