queue的核心接口主要由成员函数push(),front(),back(),pop()构成;
push():会将一个元素置入queue中;
front():会返回queue内的第一个元素(也就是第一个被置入的元素)
back():会返回queue中的最后一个元素(也就是最后被插入的元素)
pop():会移除queue内的第一个元素(也就是第一个被置入的元素)
注意:
(1)front()和back()仅仅只是返回元素,并不对queue中的元素移除,所以多次执行这两个成员函数,而不执行pop(),返回的结果一样;
(2)pop()虽然执行移除操作,但是并不返回被移除对象的值;
(3)如果想返回queue的元素,并移除返回的元素,就要同时执行fornt()和pop();
(4)如果queue内没有元素,那么front(),back(),pop()的执行都会导致未定义的行为,所以在执行这三个操作是,可以通过size()和empty()判断容器是否为空;
#include <iostream>
#include <string>
#include <queue>
using namespace std;
int main()
{
queue<string> q;
if (q.empty())
cout<<"The queue is empty!!"<<endl;
else
cout<<"The queue is not empty!!"<<endl;
q.push("These ");
q.push("are ");
q.push("more than ");
cout<<"back:"<<q.back()<<endl;
cout<<"back:"<<q.back()<<endl;
cout<<"font:"<<q.front()<<endl;
q.pop();
cout<<"font:"<<q.front()<<endl;
q.push("four ");
q.push("words! ");
q.pop();
cout<<"font:"<<q.front()<<endl;
cout<<"The queue size is"<<q.size()<<endl;
return 0;
}
运行图: