目录

queue

1. queue的初始化

2.queue的赋值操作

3.queue的添加元素和访问元素操作

4.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;

运行结果:

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐