线性表的链式表示及顺序存储

我们还记得存储结构里不仅需要存储元素,还需要存储元素与元素的关系。顺序表靠着其天然的物理结构自然表达出这种关系,不需要附加额外的信息去表示这种关系,简直赚透了。而像链式存储这样非顺序存储的结构,需要额外附加指针去表示这种关系。1.单链表的定义:处存放元素本身信息外,还需要存放一个指向后继的指针。头指针:头指针来标识一个单链表,其为NULL时表示一个空表。为了操作上的方便,可以在单链表第一个节点前附加一个节点,称为头节点,并把第一个节点的位置信息存放在头节点里。除此之外,头节点可以不设置任何信息,也可以
摘要由CSDN通过智能技术生成

我们还记得存储结构里不仅需要存储元素,还需要存储元素与元素的关系。顺序表靠着其天然的物理结构自然表达出这种关系,不需要附加额外的信息去表示这种关系,简直赚透了。而像链式存储这样非顺序存储的结构,需要额外附加指针去表示这种关系。
1.单链表的定义:处存放元素本身信息外,还需要存放一个指向后继的指针。
头指针:
头指针来标识一个单链表,其为NULL时表示一个空表。为了操作上的方便,可以在单链表第一个节点前附加一个节点,称为头节点,并把第一个节点的位置信息存放在头节点里。除此之外,头节点可以不设置任何信息,也可以去记录表长信息。
添加头节点的优点:
由于第一个数据节点的位置被存放在头节点的指针域,所以在链表上的第一个位置上的操作和其他位置上的操作一致,无需进行特殊处理。(比如添加操作时,无需对第一个节点进行特殊处理。)
无论链表是否为空,其头指针都指向头节点的非空指针。因此空表和非空表的处理也就得到了统一。

单链表具体方法的实现:
1.利用头插法建立链表
注意带头节点与不带头节点的区别。
2.利用尾插法建立链表
因为附设了一个指向尾节点的指针,故时间复杂度与头插法相同。(空间换时间)
3.按照序号查找节点值
4.按值查找表节点
5.插入节点操作
找到插入位置的前一个节点,然后再插入新节点。
如果在某节点前插入新节点,有两个思路(可供学习):
1.从头开始进行遍历,从而找到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值