2.1 线性表

线性表

定义

线性表是具有相同数据类型的 n(n>=0) 个数据元素的有限序列。其中 n 为表长, 当 n=0 时线性表是一个空表。若用 L 命名线性表,其一般表示为:

L = (a1, a2, a3, …, an)

数字下标为元素的位序。位序从 1 开始。位序为 1 的元素称为表头元素,位序最大的元素为表尾元素

除表头元素外,每个元素都有且仅有一个直接前驱;除表尾元素外,每个元素有且仅有一个直接后继

线性表:Linear List

分类

线性表是数据元素在逻辑上顺序排列的抽象数据类型。

可以按存储结构(物理分布情况)分类:

  • 顺序表:数据元素在内存中按顺序排列存储的线性表。
  • 链表:数据元素在内存中离散分布,由指针按顺序连接的线性表。按指针数量又可细分:
    • 单链表,除表尾元素外,每个数据元素只有一个指针,指向其后面的元素。
    • 双链表:除表头和表尾元素外,每个数据元素有两个指针,分别指向前一项和后一项元素。
  • 循环链表:表头和表尾元素相连的链表。
  • 静态链表:数据元素分布在一块固定内存(数组)中的链表。

基本操作

1、为什么要实现对数据结构的基本操作

  • 团队合作编程,你定义的数据结构要让别人能够很方便地使用(封装)
  • 将常用的操作/运算封装成函数,避免重复工作,降低出错风险。

2、基本操作

  • 初始化表,构造一个空的线性表,分配内存空间。
  • 销毁线性表,释放内存空间。
  • 插入,在表中指定位置插入一个元素。
  • 删除,删除表中指定元素。
  • 按值查找,查找表中包含指定关键字的元素。
  • 按位查找,根据位序获取元素的值。

3、其他常用操作

  • 求表长,返回线性表的长度,即数据元素的个数。
  • 显示表,按顺序将线性表所有内容显示出来。
  • 判断空表,如果线性表是空的,没有一个元素,返回 true。反之返回 false。
posted @ 2021-10-19 14:13  流水自净  阅读(60)  评论(0编辑  收藏  举报