队列(queue)的原理和实现简述

时间:2021-07-21 15:33:35

本篇文章主要简介队列的原理以及实现,便于学习和查阅。

队列的原理

queue 队列容器是一个先进先出(First In First Out,FIFO)的线性存储表,元素的插入只能在队尾,元素的删除只能在队首,如图是一个队列容器数据结构示意图。
队列(queue)的原理和实现简述

队列的实现
1.头文件
#include<queue>

用队列时记得要写上这个头文件。

2.定义
queue<Data_Type> name;

Data_type 为队列要存储数据的类型,name 为该队列的名字。

例如:

queue<int> que;         // 命名为que1的队列存储整型数据
queue<double> que2;      // 命名为que2的队列存储双精度浮点数
3.入队

push()在队尾插入元素。

que.push(Data_Type);

Data_Type 为定义队列时存储数据的类型。

例如

que.push(1);   // 将1入队
que.push(2);   // 将2入队
4.出队

pop() 在队头删除元素。

que.pop();

注意:删除队头元素并不能返回队头元素的值。

5.读取队首元素

front() 返回队首元素的值。

que.front();

注意:返回队首元素的值并不能删除队首元素。

6.读取队尾元素

back() 返回队尾元素

que.back();

注意:返回队尾元素不能删除队尾元素。队列之能删除队首元素的值。

7.判断队列是否为空

empty() 判断队列是否为空,若为空,则返回逻辑真,否则返回逻辑假。

que.empty();
8.返回队列元素数目

size() 返回队列当前的存储元素的个数。

que.size();