C++ STL栈Stack的使用
C++ STL stack 用法
Stack(栈)是一种后进先出的数据结构,也就是LIFO(last in first out) ,最后加入栈的元素将最先被取出来,在栈的同一端进行数据的插入与取出,这一段叫做“栈顶”。
使用STL的stack,需要头文件#include<stack>
最常见,也是最简单的定义方式: stack <int> mystack; //构造一个用于存放int类型的空栈
栈的清空
while (!s.empty()){cout << s.top() << "\n";s.pop();}
其他函数
s.push(10);
入栈
s.pop();
出栈
empty();
堆栈为空则返回真
size();
返回栈中元素数目
top();
返回栈顶元素
代码实例
一道拆括号的练习题
#include<iostream>
#include<string>
#include<stack>
using namespace std;int main()
{int total;cin >> total;stack<char> stackStr;string str;int j;for (j = 0; j < total; j++){cin >> str;int i;while (!stackStr.empty())//清空栈{stackStr.pop();}for (i = 0; i < str.length(); i++){if (str[i] == 'G'){cout << stackStr.size() << endl;break;}else{if (stackStr.size() == 0)//栈为空{stackStr.push(str[i]);//入栈}else if (stackStr.top() == '['&&str[i] == ']')//匹配{stackStr.pop();//出栈}else{stackStr.push(str[i]);//入栈}}}}cout << endl;system("pause");
}
C++ STL栈Stack的使用相关推荐
- cqueue结构pop_c++ stl栈容器stack的pop(),push()等用法介绍及头文件
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,--也就是说实现了一个先进后出(FILO)的数据结构. c++ stl栈stack的头文件为: #include c++ ...
- c++ stl栈容器stack用法介绍
stack堆栈容器 堆栈是一个线性表,插入和删除只在表的一端进行.这一端称为栈顶(Stack Top),另一端则为栈底(Stack Bottom).堆栈的元素插入称为入栈,元素的删除称为出栈.由于元素 ...
- C++STL之stack栈容器
C++STL之stack栈容器 1. 再谈栈 回顾一下之前所学的栈,栈是一种先进后出的数据结构,而实现方式需要创建多个结构体,通过链式的方式进行实现,这是标准的栈的思路,而在STL中栈可以以更为简单的 ...
- 【小白学习C++ 教程】二十二、C++ 中的STL容器stack、queue和map
@Author:Runsen STL 中的栈容器是一种容器适配器.在栈容器中,元素在一端插入并在同一端删除. stack 为了实现堆栈容器,我们需要在我们的程序中包含头文件<stack>. ...
- C++STL的stack容器
C++STL的stack容器 stack 基本概念 stack 常用接口 stack 基本概念 概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口 ...
- 数据结构--栈(附上STL栈)
定义: 栈是一种只能在某一端插入和删除数据的特殊线性表.他按照先进先出的原则存储数据,先进的数据被压入栈底,最后进入的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后被压入栈的,最先弹出).因此栈 ...
- 备战NOI 数据结构——栈与单调栈(stack) 以及后缀表达式
栈 stack 引入 栈的概念 代码实现 定义和初始化(init) 入栈(push) 出栈(pop) 访问栈顶元素(query) 查询栈的元素个数(size) 判断是否为空(empty) 清空栈(cl ...
- 一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
大家好,我是无际. 有一周没水文了,俗话说夜路走多了难免遇到鬼. 最近就被一个热心网友喷了. 说我的文章没啥营养,所以今天来一篇烧脑的. 哈哈,开个玩笑,不要脸就没人能把我绑架. 主要是最近研发第二代 ...
- 在java的实现栈的插入数据_Java实现数据结构栈stack和队列Queue
回顾JDK提供的集合类 容器(集合)框架如下: 集合类存放于java.util包中.集合类存放的都是对象的引用,而非对象本身. 集合类型主要有3种:set(集).list(列表)和map(映射). C ...
最新文章
- 用 Python 详解《英雄联盟》游戏取胜的重要因素!
- 基于vue-cli配置移动端自适应
- 【完结】AI1000问以后知识星球和B站见啦
- 【Linux系统编程】线程基本操作
- 中石油训练赛 - Incremental Induction(贪心)
- 机器学习篇—大厂笔试题
- pycharm下的第一个函数程序
- 银行对公业务结构图梳理
- 01.ZooKeeper安装和介绍
- 接口测试面试题及参考答案,轻松拿捏面试官
- JavaScript实现视频播放器
- 用Python模拟同步时钟
- 联通loid认证_光纤LOID 认证 需要填写的用户名是什么?有人说不...
- 黑马程序员_计算机编码技术
- bit feild and CPU endian 位域和大小端
- java curator_关于Curator学习过程问题
- Mybase7延长试用期
- js 实现在当前页面打开新窗口
- 【MT7620】MT7620 WiFi驱动增加无线终端连接实时协商速率功能
- 转:Emacs生存指南 (Emacs入门必读)