码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++学习 --queue


    目录

    1, 什么是queue

    2, 创建queue

    2-1, 标准数据类型

    2-2, 自定义数据类型

    2-3, 其他创建方式

    3, 操作stack

    3-1, 赋值

    3-2, 插入元素(push)

    3-3, 查询元素

    3-4, 删除元素

    3-5, 判断是否为空

    3-6, 交换

    3-7, 获取长度


    1, 什么是queue

    C++中的容器数据类型, 叫着队列容器, 元素是先进先出, 不支持遍历

    2, 创建queue

    通过queue<数据类型> 对象名, 可创建queue, 数据类型可以是标准数据类型, 也可以是自定义类型

    2-1, 标准数据类型

    1. //queue中元素数据类型为string
    2. queue q1;

    2-2, 自定义数据类型

    1. //queue中元素的数据类型为Myclass
    2. queue q1;

    2-3, 其他创建方式

    1. queue q1;
    2. //通过拷贝构造方式, 将一个已存在的q1, 拷贝给q2
    3. queue q2(q1);

    3, 操作stack

    3-1, 赋值

    由于queue是一个容器, 只支持将一个queue赋值给另外一个queue

    queue q2 = q1;

    3-2, 插入元素(push)

    通过对象名.push(元素), 向queue中插入元素

    1. Myclass m1("aaa", 1);
    2. Myclass m2("bbb", 2);
    3. Myclass m3("ccc", 3);
    4. queue q1;
    5. q1.push(m1);
    6. q1.push(m2);
    7. q1.push(m3);

    3-3, 查询元素

    通过对象名.front(), 获取头部元素, 通过对象名.back(), 获取尾部元素

    1. Myclass m1("aaa", 1);
    2. Myclass m2("bbb", 2);
    3. Myclass m3("ccc", 3);
    4. queue q1;
    5. queue q2;
    6. q1.push(m1);
    7. q1.push(m2);
    8. q1.push(m3);
    9. cout << q1.front().m_name << endl;
    10. cout << q1.back().m_name << endl;

    3-4, 删除元素

    通过对象名.pop(), 删除头部元素

    q1.pop();

    3-5, 判断是否为空

    可通过对象名.empty(), 判断队列是否为空, 为空返回0, 不为空返回1

    cout << q1.empty() << endl;

    3-6, 交换

    可通过对象名1.swap(对象名2), 交换两个栈的元素

    q1.swap(q2);

    3-7, 获取长度

    可通过q1.size(), 删除栈顶元素

    cout << q1.size() << endl;

  • 相关阅读:
    ovs-vswitchd的启动分析
    解决caffe中的python环境安装的问题(补充)
    Hadoop生态选择(一)
    <图像处理> 空间滤波基础二
    编译zlmediakit记录
    【Unity3D赛车游戏优化篇】【十】汽车粒子特效和引擎咆哮打造极速漂移
    mybatisplus代码生成覆盖
    2022年8月15日陌陌推荐算法工程师面试题5道|含解
    【Rust日报】2023-10-15 Google Rust教程简体中文版
    Spring Securit的详细使用(一)
  • 原文地址:https://blog.csdn.net/qq_25500415/article/details/134564206
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号