关于单链表的逆置问题 谁帮我用中文解释一下
单链表逆置问题:
每步事什么意思呢 谢谢大家 逆置最后是出来一个什么效果
设表头为L,算法如下:
p=L-> next-> next;
q=p-> next;
L-> next-> next=NULL;
while(p!=null)
{
p-> next=L-> next;
L-> next=p;
p=q;
q=q-> next;
}
[解决办法]
首先代码有问题。
其次,思路:
将原来链表分为两部分,一部分用L保存信息(L有head,区别与node),另一部分用p,q保存,从p,q中取一个放到L中(新节点位置在L中是第一个),依次就倒置了单链表。
[解决办法]
1-> 2-> 3-> 4
逆置以后
4-> 3-> 2-> 1
[解决办法]
表头不变 其他逆置
[解决办法]
遍表,倒置,要定相指,不能使表裂。表指向最后就可以了。
[解决办法]
要吧这么做,将一个链表中的节点,一个一个的置入另一个链表。