stack

栈是基本的数据结构之一,特点是先进后出,就如开进死胡同的车队,先进去的只能最后出来.

在c++ 中,stack的头文件是#include<stack>

stack常用操作

stack<int> q;  //以int型为例
int x;
q.push(x);      //将x压入栈顶
q.top();        //返回栈顶的元素
q.pop();        //删除栈顶的元素
q.size();       //返回栈中元素的个数
q.empty();      //检查栈是否为空,若为空返回true,否则返回false
#include<iostream>
#include<stack>
using namespace std;
int main()
{stack<int>  q;q.push(1);q.push(2);q.push(3);q.push(4);q.push(5);cout<<"q.size "<<q.size()<<endl;cout<<"q.top "<<q.top()<<endl;   //输出栈顶元素 q.pop();   //删除栈顶元素cout<<"q.size "<<q.size()<<endl;  cout<<"q.top "<<q.top()<<endl;return 0;
}

例题

题目: 51Nod - 3199 操作栈

代码

#include<iostream>
#include<stack>
using namespace std;
int main()
{stack<int>  q;int n,op,x;cin>>n;while(n--){cin>>op;if(op==1){cin>>x;q.push(x);}else if(op==2){if(q.empty())cout<<"empty"<<endl;else{cout<<q.top()<<endl;q.pop();}}}return 0;
}

c++ set用法详解

C++-stack:stack基本用法【stk.push(x)、stk.top()、stk.pop()、stk.size()、stk.empty()】相关推荐

  1. torch.stack(), torch.cat()用法详解

    torch.stack(), torch.cat()用法详解 if __name__ == '__main__':import torchx_dat = torch.tensor([[1, 2], [ ...

  2. 【JavaScript 教程】第六章 数组03— Stack :使用 Array 的push()和pop()方法实现堆栈数据结构...

    英文 | https://www.javascripttutorial.net/ 译文 | 杨小爱 在上节,我们学习了JavaScript Array length属性以及如何正确处理它,错过的小伙伴 ...

  3. 数组实现栈,实现push,pop,size方法 -- 面试算法

    思考: 有几个关键的地方, 第一,数组的话,如果我们一直push,需要扩容. 第二,因为产生了扩容所以当前数组的大小,不代表存放的数据多少,所以我们需要一个count 表示当前的容量. 第三,扩容之后 ...

  4. stack 的一些用法

    #include<bits/stdc++.h> using namespace std; int32_t main() {stack<int> st;st.push(1);st ...

  5. 刷题upupup【Java中Queue、Stack、Heap用法总结】

    [Queue] 先进先出(First-In-First-Out),LinkedList实现了Queue接口.它只允许在表的前端进行删除操作,而在表的后端进行插入操作. add()       增加一个 ...

  6. iOS Push隐藏底部tabBar,Pop出现tabBar

    项目中隐藏底部tabBa涉及到最多的情况大概是push和pop了. 例如:页面A push 到页面B,需隐藏tabBar,页面 B pop 回到A 让tabBar再出现. 现在有两种方法:(原理都一样 ...

  7. STL-priority_queue用法(重点: 升序,小根堆)

    文章出处:http://www.cnblogs.com/mfryf/archive/2012/09/05/2671883.html STL-priority_queue用法(重点: 升序,小根堆) 昨 ...

  8. b_leetcode——栈、队列、堆(含VS建立解决方案)

    文章目录 VS建立解决方案 b_leetcode1--使用队列实现栈 b_leetcode2--使用栈实现队列 b_leetcode3--包含min函数的栈 b_leetcode4--合法的出栈序列 ...

  9. 4.1 Stack(栈)

    出现的问题 参考的一些博客 c++模板类在继承中子类无法访问父类的成员的问题 解答: this访问即可,也可以直接在成员前加基类的名字Base:: 4.1.1 stack的ADT接口 操作接口 功能 ...

最新文章

  1. python爬虫如何配置动态爬虫代理
  2. Android Studio-设置鼠标悬停显示方法声明
  3. 若依前后端分离/微服务版怎样构造免密链接实现其他系统免登录访问
  4. .Net之美读书笔记17
  5. spingboot实现redis的发布订阅
  6. java_options字符串拼接_java8 StringJoiner拼接字符串
  7. thinkphp框架起步认识
  8. 1.4 高并发之线程和进程
  9. 低功耗传输与智能硬件技术为物联网应用构建基础
  10. 阿里开源框架Jarslink1.6.1新特性
  11. PSpice电路模拟
  12. 租房管理系统计算机课程设计,基于WEB的房屋出租管理系统的设计与实现
  13. 解决NLPIR汉语分词系统init failed问题
  14. 美国国家人工智能研发战略规划2019
  15. Openstack Integration with VMware vCenter by Devstack and Opencontrail
  16. spark读取esField ‘xx‘ not found; typically this occurs with arrays which are not mappedas single value
  17. Mapbox之栅格矢量瓦片
  18. 调试的时候没有在断点处停止的原因
  19. windows 7 home版转旗舰版
  20. 世界上第一台数字计算机图片大全,第二章 计算机中的图世界

热门文章

  1. 防火墙产品的发展趋势
  2. 2007年十大IT事件:Gphone摇身变为Android
  3. OLED显示-字库码表原理
  4. 虚拟机中Linux系统gcc代码编程及运行(超超超超级详细)基础篇
  5. 三次样条曲线插值(cubic spline)实例应用
  6. 2013环球资源(香港)秋季电子展
  7. 关于Android与qt交叉编译:
  8. 问题探讨:Q-plate的前后翻转是否会对结果有影响
  9. 使用SIGCHLD信号捕捉子进程状态
  10. 单片机毕业设计 STM32智能无线防盗报警器 - 物联网 嵌入式