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

【C++】STL详解(四)---Stack和Queue

文章目录

  • Stack
    • 定义方式
    • 使用方式
  • Queue
    • 定义方式
    • 使用方式

在这里插入图片描述

Stack

Stack是一种容器,是基本的数据结构之一,特点是先进后出。
在这里插入图片描述

定义方式

方式一:普通定义方式

stack<int> st1;

方式二:

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

注意: 如果没有为stack指定特定的底层容器,默认情况下使用deque。

使用方式

stack当中常用的成员函数如下:

成员函数功能
empty判断栈是否为空
size获取栈有效元素个数
top获取栈顶元素
push元素入栈
pop元素出栈
swap交换两个栈的数据
stack<int, vector<int>> st;st.push(1);st.push(2);st.push(3);st.push(4);cout << st.size() << endl; //4while (!st.empty()){cout << st.top() << " ";st.pop();}cout << endl; //4 3 2 1return 0;

Queue

队列是一种容器适配器,专门用在具有先进先出操作的上下文环境中,其只能从容器的一端插入元素,另一端提取元素。
在这里插入图片描述

定义方式

queue的定义方式
方式一: 使用默认的适配器定义队列。
queue<int> q1;
方式二: 使用特定的适配器定义队列。
queue<int, vector<int>> q2;
queue<int, list<int>> q3;

使用方式

成员函数功能
empty判断队列是否为空
size获取队列有效元素个数
front获取队头元素
back获取队尾元素
push元素入队列
pop元素出队列
swap交换两个队列的数据
queue<int, list<int>> q;q.push(1);q.push(2);q.push(3);q.push(4);cout << q.size() << endl; //4while (!q.empty()){cout << q.front() << " ";q.pop();}cout << endl; //1 2 3 4return 0;

相关文章:

  • ansible自动化playbook简单实践
  • MSTNet:用于糖尿病视网膜病变分类的多尺度空间感知 Transformer 与多实例学习方法|文献速递-深度学习医疗AI最新文献
  • C++高级编程深度指南:内存管理、安全函数、递归、错误处理、命令行参数解析、可变参数应用与未定义行为规避
  • 面试题 08.08. 有重复字符串的排列组合【 力扣(LeetCode) 】
  • 低功耗架构突破:STM32H750 与 SD NAND (存储芯片)如何延长手环续航至 14 天
  • OCC笔记:BRepMesh_IncrementalMesh的使用
  • 用Git管理你的服务器配置文件与自动化脚本:版本控制、变更追溯、团队协作与安全回滚的运维之道
  • day 26 函数专题
  • 尚硅谷redis7 90-92 redis集群分片之集群扩容
  • day41 python图像识别任务
  • Unity 中实现首尾无限循环的 ListView
  • 机房网络设备操作安全管理制度
  • OpenCV中的重要、常用知识点汇总(图像处理、特征检测与匹配、图像分割与轮廓分析、视频处理与分析和机器学习与深度学习等)
  • 云服务器系统日志占满磁盘怎么办?
  • 下一代液晶显示底层技术与九天画芯的技术突围
  • 5. 算法与分析 (2)
  • 企业应用AI对向量数据库选型思考
  • 【python深度学习】Day 40 训练和测试的规范写法
  • 深入解析Go语言数据类型:从底层到高级应用
  • 历年浙江大学计算机保研上机真题
  • 商城网站的开发怎么做的/济南网络优化哪家专业
  • 昆山网站建设第一品牌/网络服务商主要包括哪些
  • 国家建设部网站官网证件查询/交换链接
  • 导视标识设计/学seo建网站
  • 网站群系统建设思路/企业建网站一般要多少钱
  • 单页销售网站模板/百度热搜榜排行