编写一算法 实现单链表的原地逆置.void inverse(LinkL

查题易 其它 已帮助

编写一算法,实现单链表的原地逆置.
void inverse(LinkList &L) {
// 逆置带头结点的单链表 L
p=L->next; L->next=NULL; 这一句是啥意思啊?
while ( p) {
succ=p->next; // succ指向*p的后继
p->next=L->next;
L->next=p; // *p插入在头结点之后
p = succ;
}
}
不知道有没有人能帮我写下每一句的意思~

优质解答

共1条回复

  • 从第一个节点开始,修改指针的指向
    然后再修改第二个节点,第三个节点.直到把所有指针都修改完毕
    L是头结点,一开始先用P保存第一个节点(就是L的next),函数到这里的时候是只处理了第一个节点,所以暂时先将头结点的后继置为空
    while里面的语句就是修改指针指向的语句,你画一个图来理解就好多了.
    再不明白hi我吧