线性表

作者: lichiii | 来源:发表于2018-08-07 22:19 被阅读0次

1、定义

   《大话数据结构》里面对线程表的定义为:零个或多个数据元素的有限序列。

    用专业的数学语言可表述如下:若将线性表记为(a1,...,ai-1,ai,ai+1,...,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,...,n-1时,ai有且仅有一个直接后继。当i=2,3,...,n时,ai有且仅有一个直接前驱。

2、线性表的分类

    线性表按存储结构可分为:顺序存储结构和链式存储结构。

    线性表按表现形式可分为:单链表、双链表、循环链表。

    顺序存储结构一般用数组实现;链式存储结构一般用指针实现。还有一种特殊的线程表,用数组实现链式结构,叫做静态链表。

3、线程表的常见操作

    1)创建空线性表;2)判断是否为空;3)清空;4)获取指定位置的元素;5)查找指定的元素;6)插入元素;7)删除元素;8)获取表的长度。

4、特殊的线性表

    根据线性表的定义:栈、队列、字符串都可以看成是特殊的线程表。所以,栈、队列、字符串既可以用顺序存储结构实现,也可以用链式存储结构实现。

4.1 两栈共享空间

    由于顺序存储结构扩展存储空间不方便。为了克服它的缺陷,对于两个同类型栈,会设计成两栈共享空间。如下图所示。(注:top1和top2分别为栈1和栈2的栈顶指针)

    栈空的条件:top1或top2等于-1

    栈满的条件:top1+1==top2

4.2 循环队列

    对于队列,会设计成循环队列。如下图所示。(注:front指针指向队头元素,rear指针指向队尾元素的下一个位置)

    队列空的条件:front==rear

    队列满的条件:front == (rear+1) % QueueSize

相关文章

  • 线性表的相关操作

    集合 --- 创建线性表 解散 --- 销毁线性表 长度 --- 得到线性表的长度 出列 --- 从线性表删除一个...

  • [数据结构]第二章线性表(1)——线性表

    线性表 线性表的基本概念 线性表的定义 线性表是具有相同数据类型的n(n>=0)个元素的有限序列。 线性表的基本操...

  • 数据结构与算法(二)

    线性表及其顺序存储结构 线性表的基本概念 线性结构又称为线性表,线性表是最简单也是最常用的一种数据结构。 线性表的...

  • 线性表及应用

    线性表 “线性表(List):零个或多个数据元素的有限序列。” 线性表的顺序存储结构 线性表的顺序存储结构,指的是...

  • 数据结构03-线性表之顺序表

    第三章 线性表之顺序表 第三章 线性表之顺序表一、什么是线性表?1> 概念2> 线性表的基本操作二、线性表的顺序存...

  • 数据结构之线性表

    1、线性表-顺序表线性表-顺序表

  • 线性表数据结构

    线性表 线性表就是数据排成像一条线的结构,每个线性表上的数据最多只有前和后两个方向。与线性表对立的是非线性表,如二...

  • 大话数据结构 - 线性表

    代码GitHub地址 线性表 线性表需要相同的数据类型 线性表的处理方式都是先取代,后目的。比如删除链式线性表的某...

  • 数据结构-线性表(顺序表和链表)

    大纲:理解线性表的逻辑结构掌握线性表的顺序存贮结构和链式存贮结构;掌握线性表基本操作的实现。了解线性表的应用。 线...

  • 数据结构 线性表 单链表 c语言实现可运行

    线性表 线性表概念 线性表定义:具有相同特性数据元素的有限序列。线性表的逻辑结构:线性结构。只有一个表头,只有一个...

网友评论

      本文标题:线性表

      本文链接:https://www.haomeiwen.com/subject/ueqzvftx.html