类型名称:queue<T>
或queue<T,Underlying_Container>
,表明是由T类型的元素构成的队列,但为了效率Underlying_Container
不能是vector类型。
头文件:<queue>
已定义类型:value_type、size_type
无迭代器
成员函数:
• q.size()
:返回队列中的元素数量
• q.empty()
:判断队列是否为空,返回true或false
• q.front()
:返回对队列首“元素”的可变引用
• q.back()
:返回到队尾元素的一个可变引用
• q.push(元素)
:将元素添加到队尾
• q.pop()
:删除栈顶元素,类型为void,但并不返回被删除的元素
• q1==q2
:若成立,表明q1中的每个元素都等于q2的对应元素,返回true或是false
此外queue还有一个默认的构造函数、一个拷贝构造函数以及一个特殊的构造函数,还有一个析构函数。
队列的使用例子:
#include <cstdlib>
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int e,n,m;
queue<int> q;
for(int i=0;i<10;i++)
q.push(i);
if(!q.empty())
cout<<"队列非空!\n";
n=q.size();
cout<<"队列有"<<n<<"个元素"<<endl;
m=q.back();
cout<<"队尾元素是:"<<m<<endl;
for(int j=0;j<n;j++)
{
e=q.front();
cout<<e<<" ";
q.pop();
}
cout<<endl;
if(q.empty())
cout<<"队列空!\n";
else
cout<<"队列非空!\n";
return 0;
}
输出是: