《数据结构与算法》---(哔哩哔哩-王卓老师笔记)---线性表类型定义

Posted 闲言_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《数据结构与算法》---(哔哩哔哩-王卓老师笔记)---线性表类型定义相关的知识,希望对你有一定的参考价值。

  • 抽象数据类型线性表的定义如下
定义一个list的类型

在这里插入图片描述

基本操作(一)
  1. InitList(&L)构造一个空的线性表L

  2. DestroyList(&L)销毁线性表
    2.1. 初始条件:线性表L已经存在
    2.2. 操作结果:销毁线性表L
    2.3. 就是从内存中删除

  3. ClearList(&L)清空线性表
    3.1. 初始条件:线性表已经存在
    3.2. 操作结果:将线性表L 重置为空表
    3.3 线性表还在内存当中,但是这个表中没有元素(表本身还在)

基本操作(二)
  1. ListEmpty(L)判断线性表是否为空
    1.1. 初始条件:线性表L已经存在
    1.2. 操作结果:若线性表L为空表,则返回TRUE;否则返回FALSE

  2. ListLength(L)获取线性表长度
    2.1. 初始条件:线性表L已经存在。
    2.2. 操作结果:返回线性表L中的数据元素个数

基本操作(三)
  1. getElem(L,i,&e) 根据下标查询
    1.1. 初始条件:线性表L已经存在,1<=i<=ListLength(L)
    1.2. 操作结果:用e返回线性表L中第i个数据元素的值。

  2. LocateLlem(L,e,compare())查找定位 符合条件的元素
    2.1. 初始条件:线性表L已经存在,compare() 是数据元素判定函数
    2.2. 操作结果:返回L中第1个与e满足compare() 的数据元素的位序。若这样的数据元素不存在则返回0.

基本操作(四)
  1. PriorElem(L,cur,e,&pre_e)求一个元素的前驱
    5.1. 初始条件:线性表L已经存在。
    5.2. 操作结果:若cur_e是L的数据元素,且不说第一个,则用pre_e返回它的前驱,否则操作失败;pre_e无意义。

  2. NextElem(L,cur_e,&next_e)求一个元素的后继
    6.1. 初始条件:线性表L已经存在。
    6.2. 操作结果:若cur_e是L的数据元素,且不是第最后个,则用next_e返回它的后继,否则操作失败,next_e 无意义。

基本操作(五)
  1. ListInsert(&L,i,e)插入元素
    7.1. 初始条件:线性表L已经存在,1<=i<=ListInsert(L)+1
    7.2. 操作结果:在L的第i个位置之前插入新的数据元素e,L的长度加一。

在这里插入图片描述
插入之后
在这里插入图片描述

  1. ListDelete(&L,i,&e)删除元素
    8.1. 初始条件:线性表L已经存在,1<=i<=ListInsert(L)
    8.2. 操作结果:删除L的第i个数据元素,bign用e返回其值,L的长度减一。

在这里插入图片描述

  1. ListTraverse(&L,visited())遍历线性表
    9.1. 初始条件:线性表L已经存在
    9.2. 操作结果:依次对线性表中每个元素调用visited()

什么叫遍历?
就是对线性表里面的数据都访问一下。

总结:以上所提及的运算是逻辑结构上定义的运算,只要给出这些运算的功能是“做什@[TOC](这里写自定义目录标题)么”,至于“如何做”等实现细节,只有确定了存储结构之后才考虑

以上是关于《数据结构与算法》---(哔哩哔哩-王卓老师笔记)---线性表类型定义的主要内容,如果未能解决你的问题,请参考以下文章

《数据结构与算法》---(哔哩哔哩-王卓老师笔记)--数据结构

《数据结构与算法》---(哔哩哔哩-王卓老师笔记)数据数据元素数据项和数据对象

哔哩哔哩答题答案(30题)急!

哔哩哔哩会员答题4,17题

哔哩哔哩自动生成视频上传,B站发布软件使用教程

哔哩哔哩视频与音频文件流合并