编写算法,对带头结点的单链表实现就地逆置(算法设计题)

思路:将头结点摘下,然后从第一结点开始,依次前插入到头结点的后面(头插法建立单链表),直到最后一个结点为止
代码如下(摘自:C语言中文网):
LinkList Reverse_l(LinkList &L) {
    //L是带头结点的单链表,本算法将L就地逆置
    p = L->next;            //p为工作指针,从第一个元素结点开始
    L->next = NULL;         //先将头结点L的next域置为NULL
    while (p != NULL) {     //依次将元素结点摘下
        r = p->next;        //暂存p的后继
        p->next = L->next;  //将p结点插入到头结点之后
        L->next = p;
        p = r;
    }
    return L;
}


#数据结构与算法面试常考题##笔试题目##笔经##C/C++##笔记##考研#
全部评论
感谢大佬分享!!!!
点赞 回复 分享
发布于 2022-01-14 21:20

相关推荐

03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
SHC2:关键问题是你这三段实习是三个不同的岗位…你这样子秋招就是只有一段实习的本科生..
点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

更多
牛客网
牛客企业服务