1.stack容器

1) stack是堆栈容器,是一种“先进后出”的容器。

2)stack是简单地装饰deque容器而成为另外的一种容器。

3)头文件。#include <stack>

2.stack对象的默认构造

stack采用模板类实现, stack对象的默认构造形式: stack <T> stkT;

stack <int> stkInt;            //一个存放int的stack容器。

stack <float> stkFloat;     //一个存放float的stack容器。

stack <string> stkString;     //一个存放string的stack容器。

...

//尖括号内还可以设置指针类型或自定义类型。

3.stack的push()与pop()方法

stack.push(elem);   //往栈头添加元素

stack.pop();   //从栈头移除第一个元素

stack<int> stkInt;          stkInt.push(1);stkInt.push(3);stkInt.pop();  stkInt.push(5);stkInt.push(7); stkInt.push(9);stkInt.pop();         stkInt.pop(); 此时stkInt存放的元素是1,5  

4.stack对象的拷贝构造与赋值

stack(const stack &stk);                //拷贝构造函数

stack& operator=(const stack &stk);      //重载等号操作符

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
stkIntA.push(5);
stkIntA.push(7);
stkIntA.push(9);stack<int> stkIntB(stkIntA);        //拷贝构造
stack<int> stkIntC;
stkIntC = stkIntA;                //赋值

5.stack的数据存取

stack.top();        //返回最后一个压入栈元素

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
stkIntA.push(5);
stkIntA.push(7);
stkIntA.push(9);int iTop = stkIntA.top();        //9
stkIntA.top() = 19;            //19

6.stack的大小

stack.empty();   //判断堆栈是否为空

stack.size();            //返回堆栈的大小

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
stkIntA.push(5);
stkIntA.push(7);
stkIntA.push(9);if (!stkIntA.empty())
{int iSize = stkIntA.size();        //5
}

转载于:https://www.cnblogs.com/gd-luojialin/p/9779492.html

STL之stack容器相关推荐

  1. C++STL的stack容器

    C++STL的stack容器 stack 基本概念 stack 常用接口 stack 基本概念 概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口 ...

  2. STL stack 容器

    STL stack 容器 Stack简介 stack是堆栈容器,是一种"先进后出"的容器.       stack是简单地装饰deque容器而成为另外的一种容器.       #i ...

  3. C++STL之stack栈容器

    C++STL之stack栈容器 1. 再谈栈 回顾一下之前所学的栈,栈是一种先进后出的数据结构,而实现方式需要创建多个结构体,通过链式的方式进行实现,这是标准的栈的思路,而在STL中栈可以以更为简单的 ...

  4. 【C++】 STL库的stack容器

    STL库的stack容器 1.构造函数 2.增 2.1 push() 2.2 emplace() 两者区别 3.删 pop() 4.改 4.1 swap()交换 5.查 top() 6.判空 empt ...

  5. C++ deque 底层原理及 queue、stack 容器的使用详解

    目录 元素访问 迭代器 容量 修改操作 std::erase, std::erase_if (std::deque) std::swap(std::deque) stack queue 简介 双端队列 ...

  6. 算法求解中的变量、数组与数据结构(STL 中的容器)

    本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊.算法是演员,变量.数组.容器等就是舞台, 然后整个算法的处理流程,都是针对这些数据 ...

  7. STL序列式容器Standard Template Library Sequence Container

    STL序列式容器 STL Sequence Container 目录 STL序列式容器 STL Sequence Container STL(Standard Template Library)概述 ...

  8. 数据结构:栈(stack容器)使用详解

    栈(stack容器)使用详解 一.栈的基本概念 1. 栈的基本定义 2.栈的相关概念 3.栈的常用操作 二.栈的操作应用 UVA514 铁轨 Rails 题目描述 输入格式 输出格式 题目翻译 题目分 ...

  9. 【C++ STL学习笔记】C++ STL序列式容器(array,vector,deque,list)

    文章目录 C++ STL容器是什么? 迭代器是什么,C++ STL迭代器(iterator)用法详解 迭代器类别 迭代器的定义方式 C++序列式容器(STL序列式容器)是什么 容器中常见的函数成员 C ...

最新文章

  1. hashmap value可以为空吗_美团面试题:Hashmap结构,1.7和1.8有哪些区别(最详细解析)...
  2. 飞得更高:(三)人不好招啊
  3. “Matlab R2016a中运行‘mex -setup’,错误使用 mex 未找到支持的编译器或 SDK”的解决办法
  4. Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准
  5. K8S滚动更新示例演示
  6. Django 模型与 Mysql 数据类型对应
  7. Java编程实现获取本机IP和计算机名的功能
  8. 人人开源需要的问题与解决方案(一)——公网访问、内网穿透
  9. 计算机管理格式化硬盘,磁盘管理格式化硬盘出错的解决方法
  10. Ubuntu18.04 安装花生壳并使用
  11. 3D打印机赋予了海岸生态系统极大的恢复能力
  12. linux运行中的一个错误解决
  13. 浅谈智慧医疗中常见的几种数据标注类型
  14. 使用patch给代码打补丁,快速高效、patch -p1 和p0 的区别
  15. 电机调速设计并用matlab仿真,终稿毕业论文设计_基于PWM控制的直流电动机调速系统设计及MATLAB仿真.doc最终版(备份存档)...
  16. word不能读出html表格,WORD里面表格不能自动跳到下一页解决方案
  17. 出版现状:以前出书有多简单,现在出书就有多难!
  18. 信息技术领域,我们如何进行算法创新?
  19. js gbk与UTF8 转换
  20. 主题模型分析漏洞趋势

热门文章

  1. MyEclipse优化,解决MyEclipse运行慢、卡顿问题
  2. 如何查看windows xp系统的位数?
  3. 深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置[转]
  4. Jquery Ajax +.ashx XML数据格式
  5. VBS脚本压缩IIS日志
  6. java蓝桥杯算法训练 求1000以内的完数(题解)
  7. Linux之rsync
  8. Java虚拟机专题对象内存定位
  9. (7)FPGA面试题Latch和Register区别
  10. android qt 串口通信,Qt串口通信开发之QSerialPort模块详细使用方法与实例