线性表的顺序储存结构(向量 )(一)

线性表的顺序储存(向量存储):指的是用一组地址连续的存储单元一次存储线性表的数据元素。

由于线性表的所有数据元素均属同一类型,所以每个元素在存储器中占用的空间大小相同。假设向量的第一个元素存放的地址用LOC(A1)表示,每个元素占用的空间大小为L个字节,则元素Ai的存放地址为:

LOC(Ai)=LOC(A1)+L X (i-1)

在高级语言环境中,通常利用数组来表示线性表的顺序存储结构。,这是因为数组中所有元素的数据类型是相同的,元素间的地址是连续的。

为更好体现信息隐蔽原则及数据抽象原则,在这里把数组和线性表的长度封装在一个结构体中。

//------------------------线性表的动态分配顺序存储------------------------------------------------------------------

#define LIST_INT_SIZE 100//线性表存储空间的初始分配量
#define LIST_INT_SIZE 10//线性表存储空间的分配增量
typedef struct{
ElemType * elem //存储空间地址
int length //当前长度
int listsize //当前分配的存储容量,以sizeof(ElemType)为单位
}Sqlist

说明:数据指针elem表示线性表的基地址,length表示线性表的当前长度,listsize表示顺序表当前分配的存储空间大小。一旦因出入元素而空间不足时,可以进行在分配。

向量中基本运算的实现。

1、初始化,长度为零,表中没有数据元素。

SeqList InitList_Seq(){//构造一个空的线性表L
SeqList L;//定义一个顺序表
L.length=0;//顺序表的长度为0
return L;//返回空顺序表
}//InitList_Seq



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值