《数据结构与算法》---(哔哩哔哩-王卓老师笔记)---线性表类型定义
Posted 闲言_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《数据结构与算法》---(哔哩哔哩-王卓老师笔记)---线性表类型定义相关的知识,希望对你有一定的参考价值。
- 抽象数据类型线性表的定义如下
定义一个list的类型
基本操作(一)
-
InitList(&L)构造一个空的线性表L
-
DestroyList(&L)销毁线性表
2.1. 初始条件:线性表L已经存在
2.2. 操作结果:销毁线性表L
2.3. 就是从内存中删除 -
ClearList(&L)清空线性表
3.1. 初始条件:线性表已经存在
3.2. 操作结果:将线性表L 重置为空表
3.3 线性表还在内存当中,但是这个表中没有元素(表本身还在)
基本操作(二)
-
ListEmpty(L)判断线性表是否为空
1.1. 初始条件:线性表L已经存在
1.2. 操作结果:若线性表L为空表,则返回TRUE;否则返回FALSE -
ListLength(L)获取线性表长度
2.1. 初始条件:线性表L已经存在。
2.2. 操作结果:返回线性表L中的数据元素个数
基本操作(三)
-
getElem(L,i,&e) 根据下标查询
1.1. 初始条件:线性表L已经存在,1<=i<=ListLength(L)
1.2. 操作结果:用e返回线性表L中第i个数据元素的值。 -
LocateLlem(L,e,compare())查找定位 符合条件的元素
2.1. 初始条件:线性表L已经存在,compare() 是数据元素判定函数
2.2. 操作结果:返回L中第1个与e满足compare() 的数据元素的位序。若这样的数据元素不存在则返回0.
基本操作(四)
-
PriorElem(L,cur,e,&pre_e)求一个元素的前驱
5.1. 初始条件:线性表L已经存在。
5.2. 操作结果:若cur_e是L的数据元素,且不说第一个,则用pre_e返回它的前驱,否则操作失败;pre_e无意义。 -
NextElem(L,cur_e,&next_e)求一个元素的后继
6.1. 初始条件:线性表L已经存在。
6.2. 操作结果:若cur_e是L的数据元素,且不是第最后个,则用next_e返回它的后继,否则操作失败,next_e 无意义。
基本操作(五)
- ListInsert(&L,i,e)插入元素
7.1. 初始条件:线性表L已经存在,1<=i<=ListInsert(L)+1
7.2. 操作结果:在L的第i个位置之前插入新的数据元素e,L的长度加一。
插入之后
- ListDelete(&L,i,&e)删除元素
8.1. 初始条件:线性表L已经存在,1<=i<=ListInsert(L)
8.2. 操作结果:删除L的第i个数据元素,bign用e返回其值,L的长度减一。
- ListTraverse(&L,visited())遍历线性表
9.1. 初始条件:线性表L已经存在
9.2. 操作结果:依次对线性表中每个元素调用visited()
什么叫遍历?
就是对线性表里面的数据都访问一下。
总结:以上所提及的运算是逻辑结构上定义的运算,只要给出这些运算的功能是“做什@[TOC](这里写自定义目录标题)么”,至于“如何做”等实现细节,只有确定了存储结构之后才考虑
以上是关于《数据结构与算法》---(哔哩哔哩-王卓老师笔记)---线性表类型定义的主要内容,如果未能解决你的问题,请参考以下文章
《数据结构与算法》---(哔哩哔哩-王卓老师笔记)--数据结构