加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

C++中链表操作实例分析

发布时间:2021-01-08 07:30:55 所属栏目:创业 来源:网络整理
导读:副标题#e# 链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个

单向链表的反序图示:
    ---->[1]---->[2]---->[3]...---->[n]---->[NULL](原链表)
    head   1->next  2->next  3->next   n->next

   [NULL]<----[1]<----[2]<----[3]<----...[n]<----(反序后的链表)
             1->next  2->next  3->next   n->next  head

       图9:有N个节点的链表反序
       结合原链表和插入后的链表,就很容易写出相应的代码。操作方法如下:
       1、我们需要一个读原链表的指针p2,存反序链表的p1=NULL(刚好最后一个节点的next为NULL),还有一个临时存储变量p;
       2、p2在原链表中读出一个节点,我们就把它放到p1中,p就是用来处理节点放置顺序的问题;
       3、比如,现在我们取得一个2,为了我们继续往下取节点,我们必须保存它的next值,由原链表可知p=2->next;
       4、然后由反序后的链表可知,反序后2->next要指向1,则2->next=1;
       5、好了,现在已经反序一个节点,接着处理下一个节点就需要保存此时的信息:
       p1变成刚刚加入的2,即p1=2;p2要变成它的下一节点,就是上面我们保存的p,即p2=p。

       反序链表的函数为:

(编辑:PHP编程网 - 湛江站长网)

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

热点阅读