一、queue容器
(1)queue容器的简介
queue为队列容器,“先进先出”的容器
(2)queue对象的构造
queue<T>q;
queue<int>que Int;//存放一个int的queue容器
queue<string>queString;//存放一个string的queue容器
(3)queue容器的push()与pop()方法
queue.push(elem);//往队尾添加元素
queue.pop();//从对头移除第一个元素
queue容器没有提供迭代器,不能够遍历
#include<iostream>
#include <queue>
using namespace std;
int main()
{
queue <int> q;
q.push(1);
q.push(2);
q.push(3);
q.push(4);
cout<<q.front()<<endl;
q.pop();//删除队首元素,出队
cout<<q.front() <<endl;
q.pop();
cout<<q.front() <<endl;
q.pop();
cout<<q.front() <<endl;
q.pop();
return 0;
}
#include<iostream>
#include <queue>
using namespace std;
int main()
{
queue <int> q;
q.push(1);
q.push(2);
q.push(3);
q.push(4);
while(q.empty() !=true)
{
cout<<q.front() <<endl;
q.pop() ;
}
return 0;
}
二、queue容器对象的拷贝构造与赋值
(1)queue容器对象的拷贝构造
queue(const queue&que);//拷贝构造函数
queue&operator=(const queue&que);//重载等号操作符
#include<iostream>
#include <queue>
using namespace std;
int main()
{
queue <int> q;
q.push(1);
q.push(2);
q.push(3);
q.push(4);
queue <int> q1(q);
queue <int> q2;
q2=q1;
while(q2.empty() !=true)
{
cout<<q2.front()<<endl;
q2.pop();
}
return 0;
}
(2)queue容器的数据存取
queue.back();//返回最后一个元素
queue.front();//返回第一个元素
#include<iostream>
#include <queue>
using namespace std;
int main()
{
queue <int> q;
q.push(1);
q.push(2);
q.push(4);
q.push(6);
queue <int> q1(q);
queue <int> q2;
q2=q1;
q2.front() =0;
while(q2.empty() !=true)
{
cout<<q2.front()<<endl;
q2.pop();
}
return 0;
}
#include<iostream>
#include <queue>
using namespace std;
int main()
{
queue <int> q;
q.push(1);
q.push(2);
q.push(4);
q.push(6);
queue <int> q1(q);
queue <int> q2;
q2=q1;
q2.front() =0;
q2.back() =8;
while(q2.empty() !=true)
{
cout<<q2.front()<<endl;
q2.pop();
}
return 0;
}
(3)queue容器的大小
queue.empty();//判断队列是否为空
queue.size();//判断队列的大小
#include<iostream>
#include <queue>
using namespace std;
int main()
{
queue <int> q;
q.push(0);
q.push(2);
q.push(4);
q.push(6);
q.push(8);
cout<<q.size() <<endl;
return 0;
}