文章目录

  • 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容器相关推荐

  1. Python进阶(十八)Python3爬虫小试牛刀

    文章目录 一.前言 二.网址分析 三.获取标题 四.获取访问量 五.尾页判断 六.编程实现 七.注意事项 一.前言 这篇文章主要介绍了如何使用Python3爬取csdn博客访问量的相关资料,在Pyth ...

  2. Redis进阶实践之十八 使用管道模式提高Redis查询的速度

    Redis进阶实践之十八 使用管道模式提高Redis查询的速度 原文:Redis进阶实践之十八 使用管道模式提高Redis查询的速度 一.引言 学习redis 也有一段时间了,该接触的也差不多了.后来 ...

  3. stack和queue容器

    stack容器 stack是一种先进后出的数据结构,它只有一个出口 栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为 栈可以判断是否为空 empty() 栈可以返回元素个数 size() 入 ...

  4. Vue进阶(八十二):updated 应用详解

    文章目录 一.前言 二.注意事项 三.拓展阅读 一.前言 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用updated钩子函数. 无论是组件本身的数据变更,还是从父组件接收到的 pr ...

  5. 【SQL开发实战技巧】系列(十八):数据仓库中时间类型操作(进阶)INTERVAL、EXTRACT以及如何确定一年是否为闰年及周的计算

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  6. 【Microsoft Azure 的1024种玩法】六十八.基于Azure云平台使用Azure Virtual machines快速搭建Docker容器

    [简介] Docker 是一个开放源代码软件,主要应用于开发应用.交付应用.运行应用,Docker 可以将应用程序及其依赖项打包到可以在任何 Linux.Windows 或 macOS 计算机上运行的 ...

  7. mysql revoke 用法_mysql进阶(二十八)MySQL GRANT REVOKE用法

    mysql进阶(二十八)MySQL GRANT REVOKE用法 MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执行查 ...

  8. C++编程入门之十二(queue容器)

    queue队列容器 1.1queue基本概念 1.2queue常用接口 #include"pch.h" #include<iostream> #include<s ...

  9. JavaEE 企业级分布式高级架构师(十八)容器虚拟化技术(3)

    Kubernetes学习笔记 K8S集群服务搭建 环境准备 机器环境 依赖环境 docker部署 kubeadm(一键安装k8s) 集群安装 依赖镜像 k8s部署 flannel插件 节点Join 节 ...

  10. python3 scrapy框架,Python3爬虫(十八) Scrapy框架(二)

    对Scrapy框架(一)的补充 Infi-chu: Scrapy优点: 提供了内置的 HTTP 缓存 ,以加速本地开发 . 提供了自动节流调节机制,而且具有遵守 robots.txt 的设置的能力. ...

最新文章

  1. Excel报表配置说明
  2. 广告计算——平滑CTR
  3. Nginx打开目录浏览功能(autoindex)以及常见问题解决方案
  4. win7计算机管理禁用,Win7任务管理器已被系统管理员禁用怎么办
  5. 浏览器API location
  6. 合并多个文本文件中的内容到一个文件中
  7. java jvm容器_java – YARN:容器和JVM
  8. 管理员获得所有权_在Windows 7中获得注册表项的所有权
  9. 【OS学习笔记】三十一 保护模式九:页目录、页表和页三者的关系详解
  10. 读取图像矩阵维度必须一致_深度学习在放射治疗中的应用——工具篇(二)矩阵基本操作...
  11. 解决Python shell中Delete-Backspace键乱码问题
  12. eclipse 编辑 python 中文乱码的解决方案
  13. c语言crc校验库函数,CRC校验原理及其C语言实现
  14. Go github.com/e421083458/golang_common/lib
  15. 流媒体下载的几种方法
  16. java abs是什么意思_Java abs()方法
  17. 以Crotex M3为例讲解stm32芯片内部原理
  18. 一个由服务器时区引发的Bug
  19. 浏览器是先执行js还是先加载HTML,在HTML中使用JavaScript(浏览器对js的加载机制分析)...
  20. 股票ctp交易接口是什么?

热门文章

  1. 把WebForm移植到.Net MVC中
  2. LoadRunner 录制常见错误解决方法
  3. 论Web控件开发 - 完美上传下载控件“新”(一)
  4. 华为华三开启snmp服务
  5. web安全day17:天天都在说的中间人攻击到底是啥
  6. 游戏开发之.h、.c、.hpp及.cpp的区别
  7. Security+ 学习笔记33 主机安全
  8. Android Handler机制之总目录
  9. Linux内核(4) - 内核学习的心理问题
  10. Robot Framework操作