C++中STL容器之队列——queue

1.队列(queue)的简单介绍

和栈相反,队列(queue)是一种先进先出(first in first out,缩写为FIFO)线性表。它只允许在在表的一端进行插入,称之为队尾(rear),而在另一端删除元素,称为队头(front)。这话我们生活中的排队思想是一致的,最早进入队列的元素最早离开。

一般的队列示意图如下:
C++中STL容器之队列——queue_第1张图片

2.队列的基本用法

2.1 头文件

#include

2.2 定义
queue<Type> Q; //定义一个queue变量Q

注意queue的模板定义如下:

template < class T, class Cont = deque >
class queue{
    ...
};

即,queue 可以用 list 和 deque 实现,默认情况下用 deque 实现。

2.3 常用函数
操作 含义
q.empty() 如果队列为空返回true,否则返回false
q.size() 返回队列中元素的个数
q.pop() 删除队列首元素但不返回其值
q.front() 返回队首元素的值,但不删除该元素
q.push(X) 在队尾压入新元素 ,X为要压入的元素
q.back() 返回队列尾元素的值,但不删除该元素

简单示例代码:

#include 
#include
#include
#include

using namespace std;

int main()
{
	queue<int> q;
	q.push(1);
	q.push(2);
	cout << "队首元素:" << q.front() << endl;
	q.pop();
	cout << "队首元素:" << q.front() << endl;
	cout << "队列大小:" << q.size() << endl;
	q.pop();
	if (q.empty())
		cout << "最后,队列为空" << endl;

	system("pause");
	return 0;
}

你可能感兴趣的:(#,C++基础知识)