C++ STL中queue中使用push在队尾插入以及使用pop从队首删除
queue 队列容器 是 先进先出 ( FIFO , First In First Out ) 容器 ;
该容器只允许在 " 队尾 " 进行插入操作 , 而在 " 队首 " 进行删除操作 ;
该容器两边开口 , 一边用于插入元素 ( 不能删除 ) , 一边用于删除元素 ( 不能插入 ) ;
stack 堆栈容器 是 一边开口 , 也就是 栈顶开口 , 栈顶可以 添加 / 删除 元素 , 栈底 不能进行操作 ;
queue 队列容器 的 插入 / 删除 元素操作 时间复杂度是 O(1) ;
queue 队列容器 提供的 api 成员函数 与 stack 堆栈容器 类似 , 只提供有限的成员函数 , 如 :
queue#push 函数 : 队尾 插入元素
queue#pop 函数 : 队首 删除元素
queue#front 函数 : 查看 队首元素
对于 queue,元素在末尾插入,这是使用成员方法 push( )完成的:
numsInQ.push (5); // elements pushed are inserted at the end
删除是在开头进行的,这是使用成员方法 pop( )完成的:
numsInQ.pop (); // removes element at front
与 stack 不同, queue 允许查看其两端的元素,即容器的开头和末尾:
cout << "Element at front: " << numsInQ.front() << endl;
cout << "Element at back: " << numsInQ.back () << endl;
程序清单 24.4 演示了如何插入、删除和查看元素。
0: #include <queue>
1: #include <iostream>