跳至主要內容

基础概念

微信公众号:储凡2021/3/7大约 7 分钟

线性表的基础概念和操作

强调线性表是一种逻辑结构,不是存储结构

定义

线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列。一般表示:

L=(a1,a2,a3......an) 其中n可以理解为表长(线性表的长度),n=0时候,即表空

  • 表头元素:线性表中唯一的“第一个”数据元素,例如a1
  • 表尾元素:线性表中唯一的“最后一个”数据元素,例如an

重要逻辑特性:

  • 除表头元素外,线性表中每个元素有且仅有一个直接前驱
  • 除表尾元素外,线性表中每个元素有且仅有一个直接后继

基于此,这种线性有序的逻辑结构,使得线性表的特点如下:

  • 元素的个数有限(强调有限序列)
  • 元素在逻辑上具有顺序性,在序列中每个元素都是都有先后次序的
  • 元素都数据元素,每个元素都是单个元素
  • 元素的数据类型都相同(强调相同数据类型),每个数据元素占用相同大小的存储空间
  • 元素具有抽象性,仅仅讨论元素之间的逻辑关系,不需要去考虑元素究竟表示的什么内容

Tips: 线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表则指的是存储结构

基本操作

  • InitList(&L)初始化表。构造空的线性表
  • Length(L)获取表的长度。返回线性表L的长度,即表中的数据元素个数
  • LocateElem(L,e)按值查找操作。在表L中国查找具有给定关键字的元素
  • GetElem(L,i)按位查找操作。获取表中第i个位置的元素的值
  • ListInsert(&L,i,e)插入操作。在表的第i个位置上插入指定元素e
  • ListDelete(&L,i,&e)删除操作。删除表中第i个位置的元素,并用e返回删除元素的值
  • PrintList(L)输出操作。按照前后顺序(如:1、2....n)输出线性表的所有元素值
  • Empty(L)判空操作。当表L为空,则返回true,否则返回false
  • DestoryList(&L)销毁操作。将线性表销毁,释放线性表L所占用的内存空间(类似:释放内存)

线性表是具有相同的数据类型的有限个数据元素组成的,数据元素是由数据项组成的

更新日志

2024/9/26 04:05
查看所有更新日志
  • 77999-feat: 升级vuepress到最新版本,改造整个项目结构、配置 (#108)
  • 93038-feat: 移除eslint相关配置,引入@antfu/eslint-config,统一约束风格
  • 8a107-feat: 优化lint校验、markdown文档更新、脚本修改等
  • 564c3-feat: 文档内容更新,md文档新增固定链接
  • dc1d8-feat: 新增数据结构入门、线性表、栈、队列文章固定链接
  • 6962e-feat: 新增操作系统、数据结构笔记文档
  • 898b8-docs: 操作系统、数据结构文档排版优化
  • 6a156-feat: 更新文档
  • 7bd30-refactor: 配置全局采用ts改写,优化导航栏
  • aa128-feat: 修改目录结构,优化部署脚本
  • 47c5b-feat: 修改目录结构,优化hope主题配置
  • e2b22-feat(docs):新增文档
  • 867b1-refactor(docs):添加自动化脚本,打通发版流程
  • aad56-update
  • d5246-栈相关
  • 5666c-update
贡献者: mmdapl,喜欢芝士的妹妹,妹妹下雨回不去,最近在学桌球,chu fan,142vip.cn,公众号:Rong姐姐好可爱