『算法』线性表的基本操作

144 阅读2分钟

线性表的基本操作

相关视频参考(来自动力节点):www.bilibili.com/video/BV13C…

相关资料下载:www.bjpowernode.com/?juejin

基本操作(一)

  • InitList(&L)

构造一个空的线性表L。

  • DestroyList(&L)

初始条件: 线性表L必须存在

操作结果:销毁线性表L

  • ClearList(&L)

初始条件:线性表L必须存在

操作结果:将线性表L重置为空表

基本操作(二)

  • ListEmpty(L)

初始条件: 线性表L必须存在

操作结果:若线性表L为空表(n=0),则返回TURE;否则返回FALSE。

  • ListLength(L)

初始条件: 线性表L必须存在

操作结果:返回线性表L中的数据元素个数。

基本操作(三)

  • GetElem(L,i,&e)

初始条件: 线性表L必须存在 ,1<=i<=ListLength(L).

操作结果:用e返回线性表L中第i个数据元素的值。

  • LiocateElem(L,e,compare())

初始条件: 线性表L必须存在 ,compare()是数据元素判定元素。

操作结果:返回线性表L中第一个与e满足compare()的数据元素的位序,若不存在返回0.

基本操作(四)

  • PriorElem(L,cur_e,&pre_e)

初始条件: 线性表L必须存在

操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败;pre_e无意义

  • NextElem(L,cur_e,&next_e)

初始条件: 线性表L必须存在

操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的前驱,否则操作失败;next_e无意义

基本操作(五)

  • ListInsert(&L,i,e)

初始条件: 线性表L必须存在,1<=i<=ListLength(L)+1.

操作结果:在L的第i个位置之前插入新的数据元素e,L的长度加一

基本操作(六)

  • ListDelete(&L,i,&e)

初始条件: 线性表L必须存在,1<=i<=ListLength(L).

操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减一。

  • ListTraverse(&L,visited())

初始条件: 线性表L必须存在

操作结果:遍历,依次对线性表中每个元素调用visited()