转载于:https://www.cnblogs.com/xuning/p/3321733.html
在C++中只要#include<queue>即可使用队列类,其中在面试或笔试中常用的成员函数如下(按照最常用到不常用的顺序)
1. push
2. pop
3. size
4. empty
5. front
6. back
接下来逐一举例说明:
1. push
队列中由于是先进先出,push即在队尾插入一个元素,如:
#include<iostream>
#include<queue>
using namespace std;
int main(){
queue<string> q;
cout<<q.size()<<endl;//0
q.push("hello");
q.push("world");
cout<<q.size()<<endl;//2
cout<<q.front()<<endl;//hello
return 0;
}
2. pop
将队列中最靠前位置的元素拿掉,是没有返回值的void函数。如:
#include<iostream>
#include<queue>
using namespace std;
int main(){
queue<string> q;
q.push("hello");
q.push("world");
q.pop();//将队列中最靠前位置的元素拿掉
cout<<q.front()<<endl;//world
return 0;
}
3. size
返回队列中元素的个数,返回值类型为unsigned int。如:
#include<iostream>
#include<queue>
using namespace std;
int main(){
queue<int> q;
cout<<q.size()<<endl;//初始默认0
q.push(2);
q.push(98);
cout<<q.size()<<endl;//2
return 0;
}
4. empty
判断队列是否为空的,如果为空则返回true。如:
#include<iostream>
#include<queue>
using namespace std;
int main(){
queue<int> q;
cout<<q.empty()<<endl;//1 是空为1
q.push(2);
q.push(98);
cout<<q.empty()<<endl;//0 非空为0
return 0;
}
5. front
返回值为队列中的第一个元素,也就是最早、最先进入队列的元素。注意这里只是返回最早进入的元素,并没有把它剔除出队列。如:
#include<iostream>
#include<queue>
using namespace std;
int main(){
queue<int> q;
q.push(2);
q.push(98);
cout<<q.front()<<endl;//2 只是返回数值,并没有弹出队列
cout<<q.front()<<endl;//2
return 0;
}
6. back
返回队列中最后一个元素,也就是最晚进去的元素。如:
#include<iostream>
#include<queue>
using namespace std;
int main(){
queue<int> q;
q.push(2);
q.push(98);
cout<<q.back()<<endl; //98 最晚进去的元素
return 0;
}