线性表

ADT(abstract data type)

ADT (数学模型及该模型上的一组操作)
抽象数据类型(ADT)是一个实现包括储存数据元素的存储结构以及实现基本操作的算法。在这个数据抽象思想中,数据类型的定义和它的实现是分开的,这在软件设计中是一个重要的概念。这使得只研究和使用它的结构而不用考虑它的实现细节成为可能。

组成

ADT
{
数据对象:(数据元素集合)
数据关系:(数据关系二元组结合)
基本操作:(操作函数的罗列)
}

运用

在面向对象编程语言中,像C++、Java都能较好的支持ADT,如类的机制。而在C语言中缺少了对相关方法的支持。

在C语言中,有些数据结构类型是C语言程序员不可或缺的工具,这是由于它们的属性决定的。这类ADT有链表,堆栈,队列和树等,它们在实现上极具灵活性。

抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。对一个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定这些函数的参数性质。一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本数据类型那样,十分方便地使用抽象数据类型。

线性表的定义

线性表是零个或多个数据元素构成的线性序列,记为(a0, a1,…, an−1)。线性表中的数据元素个
数 n 称为线性表的长度。当 n=0 时,此线性表为空表。

线性表相邻两个数据元素互为“前驱”、“后继”。一般说成a[i]为a[i+1]的前驱,a[i+1]为a[i]的后继。
(1)线性表中的元素为一对一的关系。
(2)线性表的逻辑结构为线性结构。

ADT(线性表)

即ADT
{
数据对象:零个或多个数据元素构成的线性序列(a0, a1, …, an−1)。
数据关系:一对一的关系。
基本操作:线性表的九大基本操作。
}

线性表的九大基本运算

初始化运算

Init(L):初始化运算。构造一个空的线性表 L,若初始化成功,则返回 OK,否则返回 ERROR。

撤销运算

Destroy(L):撤销运算。判断线性表 L 是否存在,若已存在,则撤销线性表 L;否则,返回ERROR。

判空运算

IsEmpty(L):判空运算。判断线性表 L 是否为空,若为空,则返回 OK;否则返回 ERROR。

求长度运算

Length(L):求长度运算。若线性表 L 已存在,返回线性表 L 的元素个数;否则返回 ERROR。

插入运算

Insert(L,i,x):插入运算。若线性表 L 已存在且-1≤i≤n-1,则在元素 ai 之后插入新元素 x;当 i=-1时,
表示新元素插在头部位置。插入成功后返回 OK,否则返回 ERROR。

删除运算

Delete(L,i):删除运算。若线性表 L 非空且 0≤i≤n-1,则删除元素 ai,删除成功后返回 OK,
否则返回 ERROR。

更新运算

Update(L,i, x):更新运算。若线性表 L 已存在且 0≤i≤n-1,则将线性表 L 元素 ai的值修改为 x,
否则,返回 ERROR。

查找运算

Find(L,i):查找运算。若线性表 L 已存在且 0≤i≤n-1,则查找并返回线性表 L 中元素 ai的值;
否则,返回 ERROR。

输出运算

Output(L):输出运算。若线性表 L 已存在,则输出线性表 L 中所有数据元素,否则返回 ERROR。
}

参考资料

百度百科
南邮数据结构

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值