抽象数据类型——线性表
来源:互联网 发布:手机记牌器软件 2016 编辑:程序博客网 时间:2024/05/01 15:51
一、线性表的特点:
1.存在惟一的一个“第一个”的元素
2.存在惟一的一个“最后一个”的元素
3.除第一个以外,每个元素均只有一个前驱
4.除最后一个以外,每个元素均只有一个后继
二、线性表的基本操作
1. InitList(&L)
操作结果:构造一个空的线性表L
2.DestroyList(&L)
初始条件:线性表L已存在
操作结果:销毁线性表L
3.ClearList(&L)
初始条件:线性表L已存在
操作结果:清空线性表
4.ListEmpty(&L)
初始条件:线性表L已存在
操作结果:若L为空表,返回TRUE;否则返回FALSE
5.ListLength(&L)
初始条件:线性表L已存在
操作结果:返回L中数据元素的个数
6.GetELem(L,i,&e)
初始条件:线性表L已存在,1<=i<=ListLength(L)
操作结果:返回L中第i个数据元素的值
7.LocateElem(L,e,compare())
初始条件:线性表L已存在,compare()是数据元素判定函数
操作结果:返回L中第1个与e满足关系compare()的数据元素的位序。若这样的数据元素不存在,则返回0
8.PriorElem(L,cur-e,&pre_e)
初始条件:线性表L已存在
操作结果:若cur-e是L的数据元素,且不是第一个元素,则用pre-e返回它的前驱,否则操作失败,pre-e无定义
9.NextElem(L,cur-e,&next_e)
初始条件:线性表L已存在
操作结果:若cur-e是L的数据元素,且不是最后一个元素,则用next-e返回它的后继,否则操作失败,next-e无定义
10.ListInsert(&L,i,e)
初始条件:线性表L已存在,1<=i<=ListLength(L)+1
操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1
11.ListDelete(&L,i,&e)
初始条件:线性表L已存在,1<=1<=ListLenght(L)
操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1
12.ListTraverse(L,visit())
初始条件:线性表L已存在
操作结果:依次对L的每个数据元素调用函数visit(),一旦visit()失败,则操作失败
三、线性表的复杂操作
1.将两个或两个以上的线性表合并成一个线性表
2.把一个线性表拆开成两个或两个以上的线性表
3.重新复制一个线性表
1.存在惟一的一个“第一个”的元素
2.存在惟一的一个“最后一个”的元素
3.除第一个以外,每个元素均只有一个前驱
4.除最后一个以外,每个元素均只有一个后继
二、线性表的基本操作
1. InitList(&L)
操作结果:构造一个空的线性表L
2.DestroyList(&L)
初始条件:线性表L已存在
操作结果:销毁线性表L
3.ClearList(&L)
初始条件:线性表L已存在
操作结果:清空线性表
4.ListEmpty(&L)
初始条件:线性表L已存在
操作结果:若L为空表,返回TRUE;否则返回FALSE
5.ListLength(&L)
初始条件:线性表L已存在
操作结果:返回L中数据元素的个数
6.GetELem(L,i,&e)
初始条件:线性表L已存在,1<=i<=ListLength(L)
操作结果:返回L中第i个数据元素的值
7.LocateElem(L,e,compare())
初始条件:线性表L已存在,compare()是数据元素判定函数
操作结果:返回L中第1个与e满足关系compare()的数据元素的位序。若这样的数据元素不存在,则返回0
8.PriorElem(L,cur-e,&pre_e)
初始条件:线性表L已存在
操作结果:若cur-e是L的数据元素,且不是第一个元素,则用pre-e返回它的前驱,否则操作失败,pre-e无定义
9.NextElem(L,cur-e,&next_e)
初始条件:线性表L已存在
操作结果:若cur-e是L的数据元素,且不是最后一个元素,则用next-e返回它的后继,否则操作失败,next-e无定义
10.ListInsert(&L,i,e)
初始条件:线性表L已存在,1<=i<=ListLength(L)+1
操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1
11.ListDelete(&L,i,&e)
初始条件:线性表L已存在,1<=1<=ListLenght(L)
操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1
12.ListTraverse(L,visit())
初始条件:线性表L已存在
操作结果:依次对L的每个数据元素调用函数visit(),一旦visit()失败,则操作失败
三、线性表的复杂操作
1.将两个或两个以上的线性表合并成一个线性表
2.把一个线性表拆开成两个或两个以上的线性表
3.重新复制一个线性表
阅读全文
0 0
- 抽象数据类型——线性表
- 抽象数据类型线性表的定义—链表操作
- 抽象数据类型线性表的定义—静态单链表
- 线性表、 抽象数据类型review
- 线性表的抽象数据类型
- 线性表及抽象数据类型
- 抽象数据类型线性表的定义—评论为顺序表
- 抽象数据类型线性表的定义
- 线性表的抽象数据类型描述
- 线性表的抽象数据类型描述
- 抽象数据类型线性表的定义
- 抽象数据类型——表
- 线性表的抽象数据类型的ADL描述
- 抽象数据类型线性表的基本操作(个人学习)
- 数据结构——抽象数据类型
- 抽象数据类型、线性结构、递归实现:栈
- 线性表——线性表+抽象链表类+单向链表讲解
- 《大话数据结构》读书笔记之线性表抽象数据类型(双向循环链表实现)
- 将NSData转NSString
- jmeter之ant配置批量执行用例发送邮件
- gabor特征 gabor滤波器
- 算法引论
- dos命令之 tracert 使用详解
- 抽象数据类型——线性表
- 初识c#---继承和继承关系中的构造函数
- 我得GoLang学习之路——hello world
- python 枚举类型实现
- 【数据库SQL】SQL2008必要安装
- 1、let和const -ES6学习笔记
- php设计模式--单例,工厂,观察者,策略模式
- Oracle常用函数使用汇总
- ActiveForm 的下拉菜單 dropDownList