queues是队列容器,元素遵循先进先出的顺序。
头文件:#include<queue>
一、queue容器的对象构造方法
queue采用模板类实现默认构造
例如queue<T> q;
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int> queInt;
queue<float> queFloat;
queue<string> queString;
queInt.push(5);//在栈头添加元素
queInt.push(6);//在栈头添加元素
queInt.push(7);//在栈头添加元素
queInt.push(8);//在栈头添加元素
while(!queInt.empty())
{
cout<<queInt.front()<<endl;
queInt.pop();//在栈头删除元素
}
//输出5,6,7,8,符合先进先出
return 0;
}
queue对象的带参构造方式
queue<T> que2(que1);拷贝构造函数
queue& operator=(const queue &que);重载等号操作符。
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int> queInt1;
queInt1.push(5);//在栈头添加元素
queInt1.push(6);//在栈头添加元素
queInt1.push(7);//在栈头添加元素
queInt1.push(8);//在栈头添加元素
queue<int> queInt2(queInt1);
queue<int> queInt3=queInt2;
while(!queInt1.empty())
{
cout<<queInt1.front()<<endl;
queInt1.pop();//在栈头删除元素
}
//输出5,6,7,8,符合先进先出
while(!queInt2.empty())
{
cout<<queInt2.front()<<endl;
queInt2.pop();//在栈头删除元素
}
//输出5,6,7,8,符合先进先出
while(!queInt3.empty())
{
cout<<queInt3.front()<<endl;
queInt3.pop();//在栈头删除元素
}
//输出5,6,7,8,符合先进先出
return 0;
}
二、queue容器元素的存取
queue.back();//返回最后一个元素
queue.front();//返回第一个个元素
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int> queInt1;
queInt1.push(5);//在栈头添加元素
queInt1.push(6);//在栈头添加元素
queInt1.push(7);//在栈头添加元素
queInt1.push(8);//在栈头添加元素
cout<<queInt1.front()<<endl;
cout<<queInt1.back()<<endl;
//输出5,8,符合先进先出
return 0;
}
二、queue容器的大小
queue.empty();//判断堆栈是否为空
queue.size();//返回堆栈的大小
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int> queInt1;
queInt1.push(5);//在栈头添加元素
queInt1.push(6);//在栈头添加元素
queInt1.push(7);//在栈头添加元素
queInt1.push(8);//在栈头添加元素
cout<<queInt1.size()<<endl;
//输出 4
while(!queInt1.empty())
{
cout<<queInt1.front()<<endl;
queInt1.pop();//在栈头删除元素
}
//输出5,6,7,8,符合先进先出
return 0;
}