数据结构之线性表(三)——顺序存储结构(1 定义与特点)

本文介绍了顺序存储结构的概念及其特点,包括基地址、地址连续性和随机存取方式,并提供了计算存储位置的公式。此外,还讨论了如何使用C语言的一维数组来实现顺序表,以及在C语言中处理线性表长度变化的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

顺序存储结构定义与特点

  • 定义
    把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。
    在这里插入图片描述
    基地址(首地址,起始位置):线性表的第1个数据元素a1a_1a1的存储位置。

  • 特点

地址连续
例如,
在这里插入图片描述
线性表顺序存储结构占用一片连续的存储空间,知道某个元素的存储位置就可以计算其他元素的存储位置。

假设线性表的每个元素需占lll个存储单元,则有如下两个公式:
LOC(ai+1)=LOC(ai)+lLOC(a_{i+1})=LOC(a_i)+lLOC(ai+1)=LOC(ai)+l
LOC(ai)=LOC(a1)+(i−1)∗lLOC(a_i)=LOC(a_1)+(i-1)*lLOC(ai)=LOC(a1)+(i1)l
上述计算存储结构的时间复杂度为O(1)O(1)O(1)
在这里插入图片描述
两大特点:

  • 以物理位置相邻表示逻辑关系
  • 任一元素均可随机存取
C语言描述—数组

顺序表(元素){地址连续依次存放随机存取类型相同⇒用一维数组表示顺序表顺序表(元素)\begin{cases} 地址连续\\ 依次存放 \\ 随机存取\\ 类型相同\\ \end{cases} \Rightarrow 用一维数组表示顺序表 ()
但在C语言中数组的长度不可动态定义,而线性表的表长是可变的(插入、删除等操作)。
在这里插入图片描述
所以,用一变量表示顺序表的长度属性
在这里插入图片描述
这里用一个数组和一个长度值定义一个顺序表。
例子,

  • 多项式
    在这里插入图片描述
  • 图书表
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值