1.队列
将队列我们先看一看线性结构:
【定义】线性结构中的数据元素之间是一对一的关系。
举个例子:
定义:
【特点】
存在唯一的一个被称为“第一个”的数据元素
存在唯一的一个被称为“最后一个”的数据元素
除第一个之外,每个数据元素都只有一个前驱
除最后一个之外,每个数据元素都只有一个后继
说完了线性结构,再来看队列:
【定义】
队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First InFirst Out)的线性表,简称FIFO,最早进入队列的元素最早离开。允许插入的一端称为“队尾” ,允许删除的一端称为“队头”。
【小贴士】
队列的实现:
① 顺序表q[m]:用来存储队列中的元素,m是队列能存储元素的最大容量
② 队首指针front:指向队首元素存储的位置
③ 队尾指针rear:指向队尾元素的下一个位置(可插入元素的位置)。
长度为𝑛的顺序队列,最多进行𝑛次push操作后,队列就满了,即使有元素已经出队列,也无法再插入新的元素,造成空间的浪费。