题目
已知有一个单项循环链表,其每个结点含三个域:prior,data和next,其中data为数据域,next为指向后继结点的指针域,prior也为指针域,但它的值为空,试编写算法将此单向循环链表改为双向循环链表,即使prior称为指向前驱结点的指针域
思想
循环单链表使其每个结点的prior指向上一个结点即可
代码
Struct LinkList* T(sturct LinkList *head)
{
Struct LinkList *p,*q;
p=head->next;
q=head;
while(p!=head)
{
p->prior=q;
p=p->next;
q=q->next;
}
head->prior=p;
return head;
}