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();stkInt.push();stkInt.pop();  

stkInt.push();stkInt.push(); 

stkInt.push();stkInt.pop();         

stkInt.pop(); 

此时stkInt存放的元素是1,  

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

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

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

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

5.stack的数据存取

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

stack<int> stkIntA;
stkIntA.push();
stkIntA.push();
stkIntA.push();
stkIntA.push();
stkIntA.push(); int iTop = stkIntA.top(); //
stkIntA.top() = ; //

6.stack的大小

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

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

stack<int> stkIntA;
stkIntA.push();
stkIntA.push();
stkIntA.push();
stkIntA.push();
stkIntA.push(); if (!stkIntA.empty())
{
int iSize = stkIntA.size(); //
}

STL之stack容器的更多相关文章

  1. 浅谈C++ STL stack 容器

    浅谈C++ STL stack 容器 本篇随笔简单介绍一下\(C++STL\)中\(stack\)容器的使用方法和常见的使用技巧. stack容器的概念 \(stack\)在英文中是栈的意思.栈是一种 ...

  2. STL stack 容器

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

  3. C++进阶 STL(2) 第二天 一元/二元函数对象、一元/二元谓词、stack容器、queue容器、list容器(双向链表)、set容器、对组、map容器

    01 上次课程回顾 昨天讲了三个容器 string  string是对char*进行的封装 vector 单口容器 动态数组 deque(双端队列) 函数对象/谓词: 一元函数对象: for_each ...

  4. STL学习系列四:Stack容器

    Stack简介 stack是堆栈容器,是一种“先进后出”的容器. stack是简单地装饰deque容器而成为另外的一种容器. #include <stack> 1.stack对象的默认构造 ...

  5. 带你深入理解STL之Stack和Queue

    上一篇博客,带你深入理解STL之Deque容器中详细介绍了deque容器的源码实现方式.结合前面介绍的两个容器vector和list,在使用的过程中,我们确实要知道在什么情况下需要选择恰当的容器来满足 ...

  6. STL中的容器介绍

    STL中的容器主要包括序列容器.关联容器.无序关联容器等. 一]序列容器 (1) vector vector 是数组的一种类表示,提供自动管理内存的功能,除非其他类型容器有更好满足程序的要求,否则,我 ...

  7. STL序列式容器学习总结

    STL序列式容器学习总结 参考资料:<STL源码剖析> 参考网址: Vector: http://www.cnblogs.com/zhonghuasong/p/5975979.html L ...

  8. STL——序列式容器

    一.容器概述与分类 1. STL容器即是将运用最广的一些数据结构实现出来.常用的数据结构有array, list, tree, stack, queue, hash table, set, map…… ...

  9. C++标准模板库(STL)和容器

    1.什么是标准模板库(STL)? (1)C++标准模板库与C++标准库的关系 C++标准模板库其实属于C++标准库的一部分,C++标准模板库主要是定义了标准模板的定义与声明,而这些模板主要都是 类模板 ...

随机推荐

  1. Maven之基本概念及特性的基本介绍

    maven最主要的概念是坐标和依赖,这是maven可以极大简化构建过程以及进行项目管理的基础. 坐标 类似于地理位置的坐标,maven的坐标也是用来标记的,不同是它是来标记maven中的不同组件,也就 ...

  2. 20165336 实验一 Java开发环境的熟悉

    20165336 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:康志强 学号:20165336 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...

  3. Javascript面向对象编程(二):构造函数的继承 作者:yuan一峰

    Javascript面向对象编程(二):构造函数的继承   作者: 阮一峰 日期: 2010年5月23日 这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生 ...

  4. Eclipse中通过Hibernate Tools插件实现从数据库逆向生成Hibernate带注解的实体类

    一.安装hibernate tools插件 1.在线安装 通过Eclipse的Help->Install New Software 在线安装插件,插件连接为: eclipse helios(3. ...

  5. 洛谷P1966 火柴排队 贪心+离散化+逆序对(待补充QAQ

    正解: 贪心+离散化+逆序对 解题报告: 链接在这儿呢quq 这题其实主要难在想方法吧我觉得?学长提点了下说用贪心之后就大概明白了,感觉没有很难 但是离散化这里还是挺有趣的,因为并不是能很熟练地掌握离 ...

  6. es中filter和query的对比

    1.filter与query示例PUT /company/employee/2{ "address": { "country": "china&quo ...

  7. 【JMeter】JMeter如何输出测试报告

    环境要求 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t tes ...

  8. UPDATE 时主键冲突引发的思考【转】

    假设有一个表,结构如下: root::> create table t1 ( -> id int unsigned not null auto_increment, ', -> pr ...

  9. 通过Tesseract实现简单的OCR

    Tesseract 简介 Tesseract 的 OCR 引擎最先由 HP 实验室于 1985 年开始研发,至 1995 年时已经成为 OCR 业内最准确的三款识别引擎之一.然而,HP 不久便决定放弃 ...

  10. axios的使用

    一.首先要安装axios npm install axios 使用: -先在main中配置: import axios from 'axios' //要把axios放进一个全局变量中 //把axios ...