2.1 线性表

线性表抽象数据类型定义

//参考西北大学耿国华教授的《数据结构》第二版

ADT LinerList{
	数据元素:D = {ai | ai ∈ D0 , i = 1,2,…,n , n>=0 , D0 为某一数据类型}
	结构关系:R = {<ai,aj> | ai,ai+1 ∈D0,i = 1,2,…,n - 1}
	基本操作:
	1 InitList(L)
	2 ListLength(L)
	3 GetData(L,i)
	4 InsList(L,i,e)
	5 DelList(L,i,e)
	6 Locate(L,e)
	7 DestoryList(L)
	8 ClearList(L)
	9 EmptyList(L)
	}ADT LineraList;

分别对应线性表的初始化、线性表长度、取i、插入、删除、位置、销毁、置空、判空操作。
抽象数据类型对应的仅仅是一个模型的定义,并不涉及具体的实现。因此使用的参数不考虑具体类型。
定义是在逻辑上的,用户只需要了解各种操作的功能,而无须知道它们的具体实现,各操作的具体实现与线性表具体采用哪种存储结构有关。

线性表顺序存储
1 地址的计算
2 顺序存储结构表示

#define MAXSIZE 100							//宏,表示线性表最大长度
typedef struct
{
	ElemType elem[MAXSIZE];
	int last;							//记录线性表最后一个元素在数组elem[] 中的位置(下标值),空表置为-1
}SeqList;

线性表顺序存储结构上的基本运算

1 查找

按序号查找 GetData(L,i)
按内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值