线性表(一)——顺序表

线性表(一)

线性表(linear list),也称有序表(ordered list),是线性结构的典型代表。数据元素之间仅具有单一的前驱和后继关系。

一、线性表的逻辑结构

1.线性表的定义

线性表简称表,是n(n≥0)个具有相同类型的数据元素的有限序列,线性表中数据元素的个数称为线性表的长度。长度等于零时称为空表,一个非空表通常记为:

L = (a1,a2,···,an

ai-1 称为ai的前驱,ai 称为ai-1的后继。

2.线性表的抽象数据结构定义

ADT LinearList
{
	Data
		有限个元素的集合
	Operation
		InitList():线性表不存在,初始化,生成一个空表
		Empty():若表为空,返回true,否则返回false
		Length():返回线性表的大小(表的元素个数)
		Get(index):返回线性表中索引为index的元素
		IndexOf(x):返回线性表中第一次出现的元素x的索引。若x不存在,则返回-1
		Insert(index,x):把x插入线性表中索引为index的位置上,索引大于等于index的元素其索引加1
		Erase(index):删除索引为index的元素,索引大于index的元素其索引减1
		DestroyList():销毁线性表,释放所有内存
		PrintList():遍历输出线性表中的所有元素
		
}
endADT

二、线性表的存储结构及实现

1.线性表——数组描述

线性表的顺序存储结构称为顺序表(sequential list)。顺序表是用一段地址连续的存储单元依次存储线性表的数据元素。由于线性表中的每个数据元素的类型相同,通常用一维数组来实现顺序表。

顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间不留一丝缝隙。
在这里插入图片描述

使用顺序表存储数据之前,除了要申请足够大小的物理空间之外,为了方便后期使用表中的数据,顺序表还需要实时记录以下 2 项数据:

  1. 顺序表申请的存储容量;
  2. 顺序表的长度,也就是表中存储数据元素的个数;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值