已知有一个单向循环链表,其每个结点中含三个域:prior,data 和next,其中data为数据域,next为指向后继

已知有一个单向循环链表,其每个结点中含三个域:prior,data 和next,其中data为数据域,next为指向后继结点指针域,pre也为指针域,但它的值为空(NULL),试编写算法将此单向循环链表改为双向循环链表,即使pre成为指向前驱结点的指针域.
一笑三生 1年前 已收到1个回答 举报

宋宝新_qq 幼苗

共回答了18个问题采纳率:88.9% 举报

Node* list( Node* head )
{
node *p,*q;
p = head;
q = NULL;
while( p != NULL ) //一边遍历,一边加前向指针
{
p->prior = q; //关键句
q=p;
p = p->next;
}
return q; //返回双向链表的尾结点
}
有点不好理解,画图试试,一下就明白了.

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.119 s. - webmaster@yulucn.com