队列(queue)
队列(queue)和栈一样支持push和pop两个操作。但与栈不同的是,pop两个操作。但与栈的不同的是,pop完成的不是取出最顶端的元素,而是最底端的元素。也就是说最初放入的元素能够最先被取出(这种行为被叫做FIFO:First In First Out,即先进先出)。
如同栈一样,C++、Java等的标准库也预置了队列。Java与C++中的函数的名称与用途稍有不同,因此使用时要注意。此外,在C++中queue::front是用来访问最底端的数据的函数。以下是使用queue的例子:
#include<queue>
#include<cstdio>
using namespace std;
int main()
{
queue<int> que;//声明存储int类型数据的队列
que.push(1);//{}->{1}
que.push(2);//{1}->{1,2}
que.push(3);//{1,2}->{1,2,3}
printf("%d\n", que.front());//1
que.pop();//从栈顶移除{1,2,3}->{2,3}
printf("%d\n", que.front());//2
que.pop(); //从栈顶移除{ 2,3 }->{3}
printf("%d\n", que.front());//3
que.pop();//{3}->{ }
return 0;
}