C++学习 --queue

目录

[1, 什么是queue](#1, 什么是queue)

[2, 创建queue](#2, 创建queue)

[2-1, 标准数据类型](#2-1, 标准数据类型)

[2-2, 自定义数据类型](#2-2, 自定义数据类型)

[2-3, 其他创建方式](#2-3, 其他创建方式)

[3, 操作stack](#3, 操作stack)

[3-1, 赋值](#3-1, 赋值)

[3-2, 插入元素(push)](#3-2, 插入元素(push))

[3-3, 查询元素](#3-3, 查询元素)

[3-4, 删除元素](#3-4, 删除元素)

[3-5, 判断是否为空](#3-5, 判断是否为空)

[3-6, 交换](#3-6, 交换)

[3-7, 获取长度](#3-7, 获取长度)


1, 什么是queue

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

2, 创建queue

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

2-1, 标准数据类型

cpp 复制代码
//queue中元素数据类型为string
queue<string> q1;

2-2, 自定义数据类型

cpp 复制代码
//queue中元素的数据类型为Myclass
queue<Myclass> q1;

2-3, 其他创建方式

cpp 复制代码
queue<Myclass> q1;
//通过拷贝构造方式, 将一个已存在的q1, 拷贝给q2
queue<Myclass> q2(q1);

3, 操作stack

3-1, 赋值

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

cpp 复制代码
queue<Myclass> q2 = q1;

3-2, 插入元素(push)

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

cpp 复制代码
Myclass m1("aaa", 1);
Myclass m2("bbb", 2);
Myclass m3("ccc", 3);
queue<Myclass> q1;
q1.push(m1);
q1.push(m2);
q1.push(m3);

3-3, 查询元素

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

cpp 复制代码
Myclass m1("aaa", 1);
Myclass m2("bbb", 2);
Myclass m3("ccc", 3);
queue<Myclass> q1;
queue<Myclass> q2;
q1.push(m1);
q1.push(m2);
q1.push(m3);
cout << q1.front().m_name << endl;
cout << q1.back().m_name << endl;

3-4, 删除元素

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

cpp 复制代码
q1.pop();

3-5, 判断是否为空

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

cpp 复制代码
cout << q1.empty() << endl;

3-6, 交换

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

cpp 复制代码
q1.swap(q2);

3-7, 获取长度

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

cpp 复制代码
cout << q1.size() << endl;
相关推荐
代码的小搬运工7 小时前
KVO学习
学习·ios·cocoa
辣知8 小时前
辣知·化智47 黄帝陵与民族精神归途
学习
知识分享小能手8 小时前
深度学习学习教程,从入门到精通,数值计算 — 知识点详解(4)
人工智能·深度学习·学习
zyf1044169 小时前
暑期实践日志 Day49:复盘题库出题成果,夯实章节考点
学习·计算机网络·剪辑·暑期实践·课题任务
爱吃巧克力的程序媛9 小时前
main.cpp注册 C++ 类到 QML 元对象系统
c++·qt
YYYing.9 小时前
【C++进阶系列 (二)】关于线程堆栈的那些事——函数调用过程
开发语言·c++·函数·线程堆栈
kaixin_啊啊9 小时前
多模态学习
学习
键盘会跳舞10 小时前
【C++多线程】死锁诊断工具实战:从 Windows 到 Linux 的全链路排查
linux·c++·windows·死锁
m4Rk_10 小时前
【论文阅读】Agent 记忆机制(62):DCM-Agent——用双簇记忆化解优化问题的多范式冲突
论文阅读·人工智能·学习·开源·github
xian_wwq11 小时前
【学习笔记】深度认知系列-第13讲AI Agent时代到来——从“回答问题”到“执行任务”
人工智能·笔记·学习