STL之容器queue

        

目录

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;

运行结果:

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三贝勒文子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值