c++进阶(十八)stack容器和queue容器
文章目录
- stack容器
- queue容器
stack容器
stack
(栈)是一种先进后出(First In Last Out,FILO
)的数据结构,它只有一个出口。
栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。栈中入数据称为入栈push
,出数据称为出栈pop
。
int main(){stack<int> stack_c;for(int i=10; i>0; --i){try{stack_c.push(i);}catch(exception& p){cout << "i = " << i << " " << p.what() << endl;abort(); // 调用abort()函数将直接终止程序}}cout << "deque_c.size(): " << stack_c.size() << endl; // 10stack_c.pop();cout << "deque_c.front(): " << stack_c.top() << endl; // 输出 0
}
除此之外还有一些操作:
stack<T> stk; //stack采用模板类实现,stack对象的默认构造形式
stack(const stack &stk); //拷贝构造函数
stack& operator=(const stack &stk); //重载等号操作符
push(elem); //向栈顶添加元素
pop(); //从栈顶移除第一个元素
top(); //返回栈顶元素
empty(); //判断堆栈是否为空
size(); //返回栈的大小
queue容器
queue
(队列)是一种先进先出(First In First Out
,FIFO)的数据结构,它有两个出口。
#include <queue>
#include <iostream>
using namespace std;int main(){queue<int> queue_c;for(int i=10; i>0; --i){try{queue_c.push(i);}catch(exception& p){cout << "i = " << i << " " << p.what() << endl;abort(); // 调用abort()函数将直接终止程序}}cout << "queue_c.size(): " << queue_c.size() << endl; // 10queue_c.pop();cout << "queue_c.front(): " << queue_c.front() << endl; // 输出 0cout << "queue_c.back(): " << queue_c.back() << endl; // 输出 0
}
队列容器允许一端新增元素,从另一端移除元素。队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为。
queue<T> que; //queue采用模板类实现,queue对象的默认构造形式
queue(const queue &que); //拷贝构造函数
queue& operator=(const queue &que); //重载等号操作符
push(elem); //往队尾添加元素
pop(); //从队头移除第一个元素
back(); //返回最后一个元素
front(); //返回第一个元素
empty(); //判断堆栈是否为空
size() ; //返回栈的大小.
c++进阶(十八)stack容器和queue容器相关推荐
- Python进阶(十八)Python3爬虫小试牛刀
文章目录 一.前言 二.网址分析 三.获取标题 四.获取访问量 五.尾页判断 六.编程实现 七.注意事项 一.前言 这篇文章主要介绍了如何使用Python3爬取csdn博客访问量的相关资料,在Pyth ...
- Redis进阶实践之十八 使用管道模式提高Redis查询的速度
Redis进阶实践之十八 使用管道模式提高Redis查询的速度 原文:Redis进阶实践之十八 使用管道模式提高Redis查询的速度 一.引言 学习redis 也有一段时间了,该接触的也差不多了.后来 ...
- stack和queue容器
stack容器 stack是一种先进后出的数据结构,它只有一个出口 栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为 栈可以判断是否为空 empty() 栈可以返回元素个数 size() 入 ...
- Vue进阶(八十二):updated 应用详解
文章目录 一.前言 二.注意事项 三.拓展阅读 一.前言 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用updated钩子函数. 无论是组件本身的数据变更,还是从父组件接收到的 pr ...
- 【SQL开发实战技巧】系列(十八):数据仓库中时间类型操作(进阶)INTERVAL、EXTRACT以及如何确定一年是否为闰年及周的计算
系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...
- 【Microsoft Azure 的1024种玩法】六十八.基于Azure云平台使用Azure Virtual machines快速搭建Docker容器
[简介] Docker 是一个开放源代码软件,主要应用于开发应用.交付应用.运行应用,Docker 可以将应用程序及其依赖项打包到可以在任何 Linux.Windows 或 macOS 计算机上运行的 ...
- mysql revoke 用法_mysql进阶(二十八)MySQL GRANT REVOKE用法
mysql进阶(二十八)MySQL GRANT REVOKE用法 MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执行查 ...
- C++编程入门之十二(queue容器)
queue队列容器 1.1queue基本概念 1.2queue常用接口 #include"pch.h" #include<iostream> #include<s ...
- JavaEE 企业级分布式高级架构师(十八)容器虚拟化技术(3)
Kubernetes学习笔记 K8S集群服务搭建 环境准备 机器环境 依赖环境 docker部署 kubeadm(一键安装k8s) 集群安装 依赖镜像 k8s部署 flannel插件 节点Join 节 ...
- python3 scrapy框架,Python3爬虫(十八) Scrapy框架(二)
对Scrapy框架(一)的补充 Infi-chu: Scrapy优点: 提供了内置的 HTTP 缓存 ,以加速本地开发 . 提供了自动节流调节机制,而且具有遵守 robots.txt 的设置的能力. ...
最新文章
- Excel报表配置说明
- 广告计算——平滑CTR
- Nginx打开目录浏览功能(autoindex)以及常见问题解决方案
- win7计算机管理禁用,Win7任务管理器已被系统管理员禁用怎么办
- 浏览器API location
- 合并多个文本文件中的内容到一个文件中
- java jvm容器_java – YARN:容器和JVM
- 管理员获得所有权_在Windows 7中获得注册表项的所有权
- 【OS学习笔记】三十一 保护模式九:页目录、页表和页三者的关系详解
- 读取图像矩阵维度必须一致_深度学习在放射治疗中的应用——工具篇(二)矩阵基本操作...
- 解决Python shell中Delete-Backspace键乱码问题
- eclipse 编辑 python 中文乱码的解决方案
- c语言crc校验库函数,CRC校验原理及其C语言实现
- Go github.com/e421083458/golang_common/lib
- 流媒体下载的几种方法
- java abs是什么意思_Java abs()方法
- 以Crotex M3为例讲解stm32芯片内部原理
- 一个由服务器时区引发的Bug
- 浏览器是先执行js还是先加载HTML,在HTML中使用JavaScript(浏览器对js的加载机制分析)...
- 股票ctp交易接口是什么?