队列(queue):由容器的名字就可以知道,队列就是把一排元素排成一队,所以队列有先进先出的原则,即先来的站前边,后到的站后边;
插入/删除:只允许从队尾插入,允许删除的为队头;(即每次离开的都为最老的“队友”);
空队列:当队列中没有元素时称为空队列;
队列主要应用于简单的搜索中,因此熟练应用队列是进行搜索操作的基本条件;
队列的构造:
1 首先要声明头文件#include<queue>
2 定义格式 queue<int>q (int代表的存入队列的数据元素类型,q是该队列的名字)
队列的成员函数:
1 size 返回队列的元素个数
2 empty 判断队列是否为空
3 front 返回队头元素的值
4 back 返回队尾元素的值
5 pop 移除最老的那位元素,即移除队头元素
6 push 添加一个元素到队尾
队列使用案例:
// the usage of queue
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int>q;
int i;
// size/push
for(i=1;i<=10;i++)
{
q.push(i);
}
int len=q.size();
cout<<len<<endl;
//front/back
q.front()-=q.back();//1-10
cout<<"q.front()="<<q.front()<<endl;
//empty/pop
int sum=0;
while(!q.empty())
{
sum+=q.front();
q.pop();
}
cout<<"sum="<<sum<<endl;
int len2=q.size();
cout<<"len2="<<len2<<endl;
return 0;
}