当前位置: 首页 > news >正文

C++ stl中的stack和queue的相关函数用法

文章目录

  • stack
    • stack的定义
    • stack的使用
  • queue
    • queue的定义
    • queue的使用

stack的使用 包含头文件< stack >

#include <stack>

queue的使用 包含头文件< queue >

#include <queue>

stack

stack是一种容器适配器,用于具有后进先出操作的场景中,只能从容器的一端进行元素的插入和获取操作。stack封装的就是数据结构中的栈
在这里插入图片描述

stack的定义

方式一:
使用默认的适配器定义栈。

stack<int> st1;

方式二:
使用特定的适配器定义栈。

stack<int, vector<int>> st1;
stack<int, list<int>> st2;

注意: 如果没有指定容器时,默认使用deque

stack的使用

以下为stack的常用成员函数:

成员函数功能
empty检测栈是否为空
size返回栈中元素的个数
top返回栈顶元素
push元素入栈
pop元素出栈

例子:

int main()
{stack<int> st;st.push(1);st.push(2);st.push(3);cout << st.size() << endl; //3while (!st.empty()){cout << st.top() << " ";st.pop();}cout << endl; //3 2 1return 0;
}

queue

queue是一种容器适配器,用于具有先进先出操作的场景中,只能从容器的一端获取元素,另一端插入元素。queue封装的就是数据结构中的队列
在这里插入图片描述

queue的定义

方式一:
使用默认的适配器定义队列。

queue<int> q1;

方式二:
使用特定的适配器定义队列。

queue<int, vector<int>> q1;
queue<int, list<int>> q2;

注意: 如果没有指定适配器时,默认使用deque

queue的使用

以下为queue的常用成员函数:

成员函数功能
empty检测队列是否为空
size返回队列中元素的个数
front返回队头元素
back返回队尾元素
push队尾入队列
pop队头出队列

例子:

int main()
{queue<int> q;q.push(1);q.push(2);q.push(3);cout << q.size() << endl; //3while (!q.empty()){cout << q.front() << " ";q.pop();}cout << endl; //1 2 3cout << q.size() << endl; //0return 0;
}

文章转载自:
http://boliviano.riewr.cn
http://amphineura.riewr.cn
http://burble.riewr.cn
http://attainability.riewr.cn
http://bipinnate.riewr.cn
http://cardiologist.riewr.cn
http://argental.riewr.cn
http://alpinism.riewr.cn
http://announceable.riewr.cn
http://aegyptus.riewr.cn
http://afond.riewr.cn
http://albedometer.riewr.cn
http://bluenose.riewr.cn
http://babbittry.riewr.cn
http://antistreptococcal.riewr.cn
http://acclimatise.riewr.cn
http://alkekengi.riewr.cn
http://beadswoman.riewr.cn
http://aquiline.riewr.cn
http://albata.riewr.cn
http://budless.riewr.cn
http://asymptote.riewr.cn
http://bleak.riewr.cn
http://chansonnette.riewr.cn
http://bailee.riewr.cn
http://chide.riewr.cn
http://catabolize.riewr.cn
http://blackmarket.riewr.cn
http://cartel.riewr.cn
http://casuarina.riewr.cn
http://www.dtcms.com/a/181198.html

相关文章:

  • 23盘古石决赛
  • 前端自学入门:HTML 基础详解与学习路线指引
  • 安装jdk步骤
  • GOC指令
  • [javascript]取消异步请求
  • Linux——MySQL基础
  • SQL进阶:如何把字段中的键值对转为JSON格式?
  • C++进阶--红黑树的实现
  • 报错 <pcl/features/feature_evaluation/feature_evaluation_framework.h> 不存在的解决办法
  • 深入了解 Stable Diffusion:AI 图像生成的奥秘
  • Linux系统入门第十一章 --Shell编程之函数与数组
  • 影刀RPA开发-智能录制
  • Vulfocus靶场-文件上传-2
  • 提升编程效率的利器:Zed高性能多人协作代码编辑器
  • PCA降维
  • 操作系统导论——第27章 插叙:线程API
  • 单例模式的两种设计
  • 手动修改uart16550的FIFO深度?
  • 从0开始学习大模型--Day04--大模型的框架以及基本元素
  • 深入探索Laravel框架中的Blade模板引擎
  • C语言 第六章 结构体(2)
  • MySQL核心内容【持续更新中】
  • 简述Linux操作系统并安装配置Linux
  • 26考研——中央处理器_指令执行过程(5)
  • 【 SVG动态拼接】前端生成阻抗电路图
  • 仁合医疗核心产品:引领医疗科技新潮流
  • LLM量化方法:ZeroQuant、LLM.int8()、SmoothQuant、GPTQ、AWQ
  • CRC 循环冗余校验
  • Vue3 + Element Plus 动态表单实现
  • vscode离线安装python插件