设有一个循环单链表head,编写算法,实现结点指针域指向其直接前趋的操作。

admin2014-12-25  71

问题 设有一个循环单链表head,编写算法,实现结点指针域指向其直接前趋的操作。

选项

答案本算法的功能是将下图(a)所示的循环单链表,变换成下图(b)所示的循环单链表。 [*] 本题的算法思想是:设置三个指针从头到尾扫描循环单链表,将a1的指针域指向an,a2的指针指向a1,依此类推,直到最后。但要注意当判断条件r!=head成立时,还要将最后两个结点的指针域分别指向它们的直接前趋。实现本题功能的函数如下: void invert(Linklisthead) { P=head; q=head一>next;; r=q一>next; while(r!=head) { q一>next=p; p=q; q=r; r=r一>next; } q一>next=p; r一>next=q; }

解析
转载请注明原文地址:https://kaotiyun.com/show/8iVx777K
0

最新回复(0)