线性表

线性结构是一个数据元素的有序(次序)集

线性结构的

基本特征:

1.集合中必存在唯一的一个“第一元素”

2.集合中必存在唯一的一个“最后元素”

3.除最后元素在外,均有唯一的后继

4.除第一元素之外,均有唯一的前驱


 

2.1 线性表的类型定义

抽象数据类型线性表的定义如下:ADT List {

数据对象:

{n为线性表的表长; n=0时的线性表为空表。}数据关系:R1={ <ai-1 ,ai >|ai-1 ,aiD, i=2,...,n }

{设线性表为 (a1a2,...ai...an), iai在线性表中的位序。}

ADT的操作分为四类:结构初始化(一个);销毁结构(一个);引用型操作(七个);操作型操作(四个)。

 

 

 

初始条件

操作结果

结构初始化

InitList(&L)

构造一个空的线性表L

销毁结构

DestroyList(&L)

线性表L已存在

销毁线性表L

引用型操作

ListEmpty(L)

线性表L已存在

L为空表,则返回TRUE,否则FALSE

ListLength(L)

线性表L已存在

返回L中元素个数

PriorElem(L,cur_e,&pre_e )

线性表L已存在

cur_e是L的元素,但不是第一个,则用pre_e 返回它的前驱,否则操作失败,pre_e无定义

NextElem(L,cur_e,&next_e )

线性表L已存在

cur_eL的元素,但不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义

GetElem(L,cur_e,&next_e )

线性表L已存在1≤i≤LengthList(L)

e返回L中第i个元素的值

LocateElem(L,e,compare( ) )

线性表L已存在,compare( )是元素判定函数

返回L中第1个与e满足关系compare( )的元素的位序。若这样的元素不存在,则返回值为0

ListTraverse(L,visit( ))

线性表L已存在

依次对L的每个元素调用函数visit( )。一旦visit( )失败,则操作失败

加工型操作

ClearList( &L )

线性表L已存在

L重置为空表

PutElem( L, i, &e )

线性表L已存在1≤i≤LengthList(L)

L中第i个元素赋值同e的值

ListInsert( &L, i, e )

线性表L已存在1≤i≤LengthList(L)+1

L的第i个元素之前插入新的元素eL的长度增1

ListDelete(&L, i, &e)

线性表L已存在且非空,1≤i≤LengthList(L)

删除L的第i个元素,并用e返回其值,L的长度减1

 

D={ ai | ai ElemSet, i=1,2,...,n, n0 }

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值