A-A+
设有一循环双链表 但初始时每个结点的前域指针prior是空的。编写算法 使每个结点的前域指针
问题详情
设有一循环双链表,但初始时每个结点的前域指针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;}