STL之容器queue
STL的queue容器
·
目录
学过数据结构的小伙伴都知道队列(queue)吧,它是一种存放数据的结构体,以往我们在学习编程的时候都会自己去实现一个队列,今天,小编告诉你C++的STL给我们提供了queue容器,这个容器就是栈。
队列的特性就是先进先出,而且有两个开口,一端作为数据元素的插入push(),一端作为数据元素的输出pop(),因为前后端一起操作,导致了每一次的添加或者删除元素的操作是在头端还是尾端进行的,所以呢,迭代器每次都需要从新进行初始化指向(也就是迭代器和引用失效),所以queue它就不提供迭代器的功能了。
queue
队列的底层实现原理是vector或者deque,使用队列queue需要添加一个头文件
#include<queue>
1. queue的初始化
queue<T> serven_1; // 调用默认构造函数
queue<T> serven_2(const queue& serven_1); // 调用拷贝构造函数
2.queue的赋值操作
-
operator=:queue重写的操作符号=,用于赋值。
// queue& operator=(const queue &que);
/* queue赋值 */
serven_1.push(1); // 入队
serven_1.push(2);
serven_1.push(3);
serven_2 = serven_1; // operator=赋值
3.queue的添加元素和访问元素操作
-
push(val): 在队尾将元素val进行入队操作
-
pop():在队头进行出队操作
-
front(): 获取对头元素
-
back():获取队尾元素
serven_1.push(1); // 入队
serven_1.push(2);
serven_1.push(3);
serven_2 = serven_1; // operator=赋值
serven_2.pop(); // 出队
cout<<"The front value:"<<serven_1.front()<<endl;
cout<<"The back value:"<<serven_2.back()<<endl<<endl;
运行结果:
4.queue的大小获取操作
-
size():返回队列的长度大小;
-
empty(): 判断队列是否为空,空的话返回1。
cout<<"The serven_2 is empty:"<<serven_2.empty()<<endl;
cout<<"The size of serven_2:"<<serven_1.size()<<endl<<endl;
运行结果:
更多推荐
已为社区贡献2条内容
所有评论(0)