数据结构与算法(第二章)

                                                                                                       第二章线性表

一、线性表的定义 :

线性表是0个或多个数据元素构成的线性序列,记为(a_{0},a_{1},........a_{n-1})。

线性表中的数据元素个数n称为线性表的长度。

当n=0时,线性表为空表。(线性表存在,但没有元素)。

设线性表为(a_{0},a_{1},......a_{i-1},a_{i},a_{i+1},......a_{n-1}

其中:

  1. a_{i-1}a_{i}的直接前驱。
  2. a_{i+1}a_{i}的直接后继。
  3. a_{0}没有直接前驱。
  4. a_{n-1}没有直接后继。

除了a_{0}a_{n-1}之外,其他元素有且仅有一个直接前驱和一个直接后继。

线性表举例:

  1. 字母表:(A,B,C,........Z)。
  2. 学生信息表

二、线性表的抽象数据类型(描述规范)

ADT List {

             数据:零个或多个数据元素构成的线性序列(a_{0},a_{1},........a_{n-1})。

             数据元素之间的关系是一对一的关系。

  • init(L) :初始化运算

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

  • Destory(L) :撤销运算。

判断线性表L是否存在,若已经存在,则撤销线性表L;否则返回ERROR。

  • IsEmpty(L):判空运算

判断线性表L是否为空,若为空则返回OK;否则返回ERROR。

  • Length(L):求长度运算

若线性表L已经存在,则返回线性表L的元素个数;否则返回ERROR。

  • Find(L,i):查找元素。

若线性表L已经存在,且0\leqi\leqn-1;则查找线性表L中元素a_{i}的值,查找成功后返回OK,否则返回ERROR。

  • Insert(L,i,x):插入运算。

若线性表L已经存在,且-1\leqi\leqn-1,则在元素a_{i}之后插入新元素x,插入成功后返回OK,否则返回ERROR。

  • Delete(L,i):删除运算。

若线性表L非空,且0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值