当前位置:   article > 正文

线性表_线性表是adt吗

线性表是adt吗

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。
  • 1

撤销运算

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

判空运算

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

求长度运算

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

插入运算

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

删除运算

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

更新运算

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

查找运算

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

输出运算

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

参考资料

百度百科
南邮数据结构

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/801668
推荐阅读
相关标签
  

闽ICP备14008679号