1.4几种队列(链队列、循环队列)的介绍

一、相关概念

1.队列是一种运算受限的线性表。在这种线性表上,插入限定在表的某一端进行,删除限定在表的另一端进行。允许插入的一端称为队尾,允许删除的一端称为队头。

特点:队列中数据元素的入队和出队过程是按照“先进先出” 的原则进行的。因此,队列又称为“先进先出”的线性表,简称FIFO表。

1.4几种队列(链队列、循环队列)的介绍_第1张图片
2.双端队列
1.4几种队列(链队列、循环队列)的介绍_第2张图片
3.链队列:用链表表示的队列(队列的链式存储结构),是限制仅在表头删除和表尾插入的单链表。

一个链队列由一个头指针和一个尾指针唯一确定。 空队列的判定条件就成为头指针和尾指针都指向头结点。

1.4几种队列(链队列、循环队列)的介绍_第3张图片
4.循环队列
1.4几种队列(链队列、循环队列)的介绍_第4张图片

1.4几种队列(链队列、循环队列)的介绍_第5张图片

然而,当到达如图中d的情形时,队列形式上便满了,可实际却没有。于是便有了循环队列: 将顺序队列的存储区假想为一个环状的空间。

1.4几种队列(链队列、循环队列)的介绍_第6张图片

此时,解决方法有两种:

(1)、另设一个布尔变量以区别队列的空和满;

(2)、少用一个元素的空间,约定入队前,测试尾指针在循环意义下加 1 后是否等于头指针,若相等则认为队满;

你可能感兴趣的:(1.4几种队列(链队列、循环队列)的介绍)