学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

179

积分

0

好友

22

主题
发表于 7 天前 | 查看: 62| 回复: 2
本帖最后由 jinchanchan 于 2024-11-14 13:34 编辑

来自:KEPROM

一、定义
queue是一种容器转换器模板,调用#include< queue>即可使用队列类。

二、queue初始化
queue<Type, Container> (<数据类型,容器类型>)
初始化时必须要有数据类型,容器可省略,省略时则默认为deque 类型

初始化示例

1:
queue<int>q1;
queue<double>q2;  
queue<char>q3;
//默认为用deque容器实现的queue;

2:
queue<char, list<char>>q1;
//用list容器实现的queue

queue<int, deque<int>>q2;
//用deque容器实现的queue

注意:不能用vector容器初始化queue
因为queue转换器要求容器支持front()、back()、push_back()及 pop_front(),说明queue的数据从容器后端入栈而从前端出栈。所以可以使用deque和list对queue初始化,而vector因其缺少pop_front(),不能用于queue。

顺便吆喝一下,技术大厂,前后端/测试内tui,来看看

三、queue常用函数

1.常用函数

push() 在队尾插入一个元素
pop() 删除队列第一个元素
size() 返回队列中元素个数
empty() 如果队列空则返回true
front() 返回队列中的第一个元素
back() 返回队列中最后一个元素

2.函数运用示例

1:push()在队尾插入一个元素


queue <string> q;
    q.push("first");
    q.push("second");
    cout<<q.front()<<endl;

输出first

2:pop() 将队列中最靠前位置的元素删除,没有返回值


queue <string> q;
        q.push("first");
        q.push("second");
        q.pop();
        cout<<q.front()<<endl;

输出 second 因为 first 已经被pop()函数删掉了

3:size() 返回队列中元素个数

  
queue <string> q;
           q.push("first");
           q.push("second");
           cout<<q.size()<<endl;

输出2,因为队列中有两个元素

4:empty() 如果队列空则返回true


queue <string> q;
    cout<<q.empty()<<endl;
    q.push("first");
    q.push("second");
    cout<<q.empty()<<endl;

分别输出1和0
最开始队列为空,返回值为1(ture);
插入两个元素后,队列不为空,返回值为0(false);

5:front() 返回队列中的第一个元素


queue <string> q;
    q.push("first");
    q.push("second");
    cout<<q.front()<<endl;
    q.pop();
    cout<<q.front()<<endl;

第一行输出first;
第二行输出second,因为pop()已经将first删除了

6:back() 返回队列中最后一个元素


queue <string> q;
q.push("first");
q.push("second");
cout<<q.back()<<endl;

输出最后一个元素second

温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。

    发表于 5 天前
    啥也不说了,加入收藏!
    jinchanchan 发表于 3 天前 详情  回复
    感谢支持,继续努力!
    发表于 3 天前
    haifu.tian 发表于 2024-11-16 12:18
    啥也不说了,加入收藏!

    感谢支持,继续努力!

    小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

    GMT+8, 2024-11-21 14:29 , Processed in 0.307151 second(s), 44 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表