当前位置: 首页 > news >正文

8. 线性表的类型定义

本节主要介绍线性表的一些基本操作。

本文部分ppt、视频截图来自:[青岛大学-王卓老师的个人空间-王卓老师个人主页-哔哩哔哩视频]

1. 线性表的类型定义

1.1 抽象数据类型线性表的定义

  • 定义
    在这里插入图片描述
  • 基本操作(一)
  1. InitList(&L)(Initialization List)构造线性表
    操作结果:构造一个空的线性表L。
  2. DestroyList(&L) 销毁线性表
    初始条件:线性表L已经存在。
    操作结果:销毁线性表L(即从内存中删除线性表L)。
  3. ClearList(&L) 清除线性表
    初始条件:线性表L已经存在。
    操作结果:将线性表L重置为空表(表中没有元素)。
  • 基本操作(二)
  1. ListEmpty(L) 判断线性表是否为空
    初始条件:线性表L已经存在。
    操作结果:若线性表L为空表(元素个数为0),则返回TURE;否则赶回FALSE。
  2. ListLength(L) 获取线性表长度
    初始条件:线性表L已经存在。
    操作结果:返回线性表L中的数据元素个数。
  • 基本操作(三)
  1. GetElem(L,i,&e) 获取线性表中元素
    初始条件:线性表L已经存在,1 <= i <= ListLength(L)。
    操作结果:用e返回线性表L中第i个数据元素的值。
  2. LocateElem(L,e,compare()) 查找和定位线性表中满足条件的元素
    初始条件:线性表L已经存在,compare()是数据元素判定函数。
    操作结果:返回L中第一个与e满足compare()的数据元素的位序。若这样的数据元素不存在则返回值为0。
  • 基本操作(四)
  1. PriorElem(L,cur_e,&pre_e) 求某元素前趋
    初始条件:线性表L已经存在。
    操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前趋,否则操作失败,pre_e无意义。
  2. NextElem(L,cur_e,&next_e) 求某元素的后继
    初始条件:线性表L已经存在。
    操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无意义。
  • 基本操作(五)
  1. ListInsert(&L,i,e) 线性表中插入元素
    初始条件:线性表L已经存在,1 <= i <= ListLength(L) + 1。
    操作结果:在L的第i个位置之前插入新的数据元素e,L的长度加1。
    在这里插入图片描述
  • 基本操作(六)
  1. ListDelete(&L,i,&e) 线性表中删除某元素
    初始条件:线性表L已经存在,1 <= i <= ListLength(L) 。
    操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1。
    在这里插入图片描述
  2. ListTraverse(&L,visited()) 遍历访问线性表中某元素
    初始条件:线性表L已经存在。
    操作结果:依次对线性表中每个元素调用visited()。

注:以上运算是逻辑结构上定义的运算。只要给出这些运算的功能是“做什么”,至于“如何做”等实现细节,指有待确定了存储结构后考虑。

相关文章:

  • 面向开发者的提示词工程④——文本推断(Inferring)
  • Qt(part1)Qpushbutton,信号与槽,对象树,自定义信号与槽,lamda表达式。
  • 人员定位系统解决方案
  • 记录一个用了很久的git提交到github和gitee比较方便的方法
  • 基于Javamail的邮件收发系统设计与实现【源码+文档】
  • NLP学习路线图(二十九):BERT及其变体
  • 三种读写传统xls格式文件开源库libxls、xlslib、BasicExcel的比较
  • 20250606-C#知识:List排序
  • 使用 Ansible 在 Windows 服务器上安装 SSL 证书
  • Opencv中的addweighted函数
  • [论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习
  • Linux-http协议
  • Xilinx 325T FPGA 中的 GT(GTP 或 GTX)收发器和普通 LVDS 接口的差模和共模电压
  • 软件功能测试报告都包含哪些内容?
  • 多线程下使用缓存+锁Lock, 出现“锁失效” + “缓存未命中竞争”的缓存击穿情况,双重检查缓存解决问题
  • 前端基础之《Vue(19)—状态管理》
  • html 滚动条滚动过快会留下边框线
  • pe文件结构(TLS)
  • ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
  • 第四讲:类和对象(下)
  • 阜宁做网站哪家公司好/软文推广多少钱一篇
  • 做婚恋网站要多少钱/优化大师win10
  • 游戏是怎么开发出来的/seo关键词排名优化报价
  • 做家纺的主要国际网站/seo描述快速排名
  • 无锡建设机械网站/搜索关键词的网站
  • 建设手机网站的方案/网页设计可以自学吗