首页 > 技术文章 > 队列(queue)

orion7 2017-06-03 11:22 原文

队列(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;
}

 

 

推荐阅读