A-A+

设有一循环双链表 但初始时每个结点的前域指针prior是空的。编写算法 使每个结点的前域指针

2022-08-12 15:39:38 问答库 阅读 196 次

问题详情

设有一循环双链表,但初始时每个结点的前域指针prior是空的。编写算法,使每个结点的前域指针prior指向其直接前趋。


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:本题与上一题有相同之处但是不必改变每个结点后域指针next的值。用两个指针从头到尾扫描循环双链表让每个结点的prior域指向其直接前趋。实现本题功能的函数如下:voidinvert_dlist(dlklisthead){P=head一>next;q=head;while(p!=head){P一>prior=q;q=p;P=P一>next;}head一>prior=q;}
本题与上一题有相同之处,但是不必改变每个结点后域指针next的值。用两个指针从头到尾扫描循环双链表,让每个结点的prior域指向其直接前趋。实现本题功能的函数如下:voidinvert_dlist(dlklisthead){P=head一>next;q=head;while(p!=head){P一>prior=q;q=p;P=P一>next;}head一>prior=q;}

考点:结点,指针