知识大全 数据结构之线性表的顺序存储[1]
Posted 元素
篇首语:人生难得几回搏,此时不搏待何时。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构之线性表的顺序存储[1]相关的知识,希望对你有一定的参考价值。
线性表的顺序存储是线性表的一种最简单最直接的存储结构 它是用内存中的一段地址连续的存储空间顺序存放线性表的每一个元素 用这种存储形式存储的线性表我们称其为顺序表 在顺序表中用内存中地址的线性关系表示线性表中数据元素之间的关系 这种用物理上的相邻关系实现数据元素之间的逻辑相邻关系简单明了 如图 所示 设 e 的存储地址为Loc(e ) 每个数据元素占d个字节存储单元 则第i个数据元素的地址为
Loc(ei)=Loc(e )+(i )*d ≤i≤n
这意味着只要知道顺序表首地址和每个数据元素所占地址单元的个数就可求出第i个数据元素的地址来 所以线性表的顺序存储结构是一种随机存取的存储结构 具有按数据元素的序号随机存取的特点
线性表
顺序表的内存表示
下标
数据元素
存储地址
存储元素
e
相关参考
顺序表的存贮特点是利用物理上的相邻关系表达出逻辑上的前驱和后继关系它要求用连续的存储单元顺序存储线性表中各元素因此对顺序表进行插入和删除时需要通过移动数据元素来实现线性表的逻辑上的相邻关系从而影响
顺序表的删除 线性表的删除运算是指将表的第i(≤i≤n)个位置上的结点删除使长度为n的线性表(a…aiai…an)变成长度为n的线性表(a…aiai+…an) 删除操作分为相应两个阶段只是顺序与前
在程序设计语言中一维数组在内存中占用的存储空间就是一组连续的存储区域因此用一维数组来表示顺序表的数据存储区域是再合适不过的考虑到线性表的运算有插入删除等运算(即表长是不断变化的)因此数组的容量需足
基于空间的考虑 当线性表的长度变化较大难以估计其存储规模时以采用动态链表作为存储结构为好 当线性表的长度变化不大易于事先确定其大小为了节约存储空间宜采用顺序表作为存储结构 存储密度(Storag
根据C语言中函数参数的传递采用值传送的规则有时定义一个指向SeqList类型的指针更为方便能够实现信息的回送因此我们定义一个指针类型 typedefSeqList*PSeqList; PSeq
作为线性表的两种基本的存储结构顺序表和链表它们在存储和操作上各有优缺点列表比较如下 顺序表链表优点方法简单各种高级语言中都有数组容易实现不用为表示结点间的逻辑关系而增加额外的
顺序表 顺序表的定义 ()顺序存储方法 即把线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里的方法 ()顺序表(SequentialList) 用顺序存储方法存储的线性表简称为顺
顺序表 顺序表的定义 ()顺序存储方法 即把线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里的方法 ()顺序表(SequentialList) 用顺序存储方法存储的线性表简称为顺
顺序表上实现的基本运算 表的初始化 voidInitList(SeqList*L) \\\\顺序表的初始化即将表的长度置为 L>length=; 求表长 intListLen
作为线性表的一种存储结构我们关心的是结点间的逻辑结构(线性关系)而对每个结点的实际地址并不关心所以通常的单链表用图的形式表示 > >