加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

链表倒置(逆序)

发布时间:2020-12-13 19:45:32 所属栏目:百科 来源:网络整理
导读:在笔试中经常到将一个单向链表倒置的问题,看了网上的一些解法,觉得头插法是一种比较好的做法,记下来,供自己参考.. 在数据结构(严蔚敏版)线性表一节中,有一个逆序创建链表的算法,头插法和这个算法差不多,区别就是逆序创建链表是用给出的数字序列创建链表,而头

在笔试中经常到将一个单向链表倒置的问题,看了网上的一些解法,觉得头插法是一种比较好的做法,记下来,供自己参考..

在数据结构(严蔚敏版)线性表一节中,有一个逆序创建链表的算法,头插法和这个算法差不多,区别就是逆序创建链表是用给出的数字序列创建链表,而头插法是在原来的链表中从第一个节点开始,每次取出一个节点,然后把这个节点插在头节点后面,直到最后一个节点插到头节点后面,那么原来的链表就倒置了..

下面是C++代码:

LNode *Reverse(LNode *Head)
{
   LNode *p=Head->next;
   LNode * q=NULL;
   Head->next=NULL;
   while(p->next)
   {
     q=p->next;   //保存下一个节点的指针

     p->next=Head->next;
     Head->next=p;       //把取出的节点插入到头节点的后面

     p=q;
  }
  return Head;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读