知识大全 数据结构之线性表的顺序存储[2]
Posted 知
篇首语:博观而约取,厚积而薄发。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构之线性表的顺序存储[2]相关的知识,希望对你有一定的参考价值。
在程序设计语言中 一维数组在内存中占用的存储空间就是一组连续的存储区域 因此用一维数组来表示顺序表的数据存储区域是再合适不过的 考虑到线性表的运算有插入 删除等运算(即表长是不断变化的) 因此数组的容量需足够大 当然也可考虑在实际运行中动态分配内存和动态增加内存 本章中暂不作考虑数组的动态分配问题 当表长超过数组的容量时视为溢出
顺序表可用一维数组data[MAXSIZE]表示 其中MAXSIZE是一个根据实际问题定义的足够大的整数 用一个变量 length 记录当前线性表中元素的个数 即线性表的长度 同时由于顺序表中的数据从 data[ ] 开始依次顺序存放 因此 length 表示最后一个元素的下标 始终指向线性表中最后一个元素 当表空时 length = 我们用DataType表示线性表中数据元素的类型 这种存储思想在C语言中的定义如下
#define MAXSIZE
DataType data[MAXSIZE]; /*DataType可以是整型 实型等数据类型*/
int length;
表长为length 数据元素分别存放在data[ ]到data[length ]中 MAXSIZE为最大使用内存空间 length≤MAXSIZE
我们通常将 data 和 length 封装成一个结构作为顺序表的类型
typedef struct node
DataType data[MAXSIZE];
int length;
SeqList;
定义一个顺序表 SeqList L;
cha138/Article/program/sjjg/201311/23745相关参考
线性表的顺序存储是线性表的一种最简单最直接的存储结构它是用内存中的一段地址连续的存储空间顺序存放线性表的每一个元素用这种存储形式存储的线性表我们称其为顺序表在顺序表中用内存中地址的线性关系表示线性
顺序表定义 顺序表即用一组连续的存储单元依次存放线性表的数据元素 若每个数据元素占用c个存储单元并以所占的第一个存储单元地址作为这个数据元素的存储位置则表中任一元素ai的存储地址为 LOC
基于空间的考虑 当线性表的长度变化较大难以估计其存储规模时以采用动态链表作为存储结构为好 当线性表的长度变化不大易于事先确定其大小为了节约存储空间宜采用顺序表作为存储结构 存储密度(Storag
顺序表的存贮特点是利用物理上的相邻关系表达出逻辑上的前驱和后继关系它要求用连续的存储单元顺序存储线性表中各元素因此对顺序表进行插入和删除时需要通过移动数据元素来实现线性表的逻辑上的相邻关系从而影响
根据C语言中函数参数的传递采用值传送的规则有时定义一个指向SeqList类型的指针更为方便能够实现信息的回送因此我们定义一个指针类型 typedefSeqList*PSeqList; PSeq
作为线性表的一种存储结构我们关心的是结点间的逻辑结构(线性关系)而对每个结点的实际地址并不关心所以通常的单链表用图的形式表示 > >
顺序表 顺序表的定义 ()顺序存储方法 即把线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里的方法 ()顺序表(SequentialList) 用顺序存储方法存储的线性表简称为顺
顺序表 顺序表的定义 ()顺序存储方法 即把线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里的方法 ()顺序表(SequentialList) 用顺序存储方法存储的线性表简称为顺
作为线性表的两种基本的存储结构顺序表和链表它们在存储和操作上各有优缺点列表比较如下 顺序表链表优点方法简单各种高级语言中都有数组容易实现不用为表示结点间的逻辑关系而增加额外的
顺序表上实现的基本运算 表的初始化 voidInitList(SeqList*L) \\\\顺序表的初始化即将表的长度置为 L>length=; 求表长 intListLen