码迷,mamicode.com
首页 >  
搜索关键字:进栈 出栈    ( 1830个结果
Leetcode - Evaluate Reverse Polish Notation
初看貌似有点复杂,但是搞懂了非常简单,就一个简单的栈应用,每次遇到计算符号"+", "-", "*", "/"就将栈顶端两个数字出栈,计算后再将结果压栈即可。。 #include #include #include using namespace std; class Solution { public: int evalRPN(vector &tokens) { stack s...
分类:其他好文   时间:2014-10-03 15:36:44    阅读次数:144
中缀表达式转后缀表达式的方法:
1.遇到操作数:直接输出(添加到后缀表达式中)2.栈为空时,遇到运算符,直接入栈3.遇到左括号:将其入栈4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。5.遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈6.最终将栈中的...
分类:其他好文   时间:2014-09-26 23:59:48    阅读次数:154
栈操作之双端顺序栈
数据结构: 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。 操作系统: 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 栈使用的...
分类:其他好文   时间:2014-09-26 20:30:58    阅读次数:678
栈操作之栈链
数据结构: 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。 操作系统: 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 栈使用的...
分类:其他好文   时间:2014-09-26 20:30:48    阅读次数:150
栈操作之顺序栈
数据结构: 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。 操作系统: 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 栈使用的是一级缓存, 他...
分类:其他好文   时间:2014-09-26 19:43:38    阅读次数:168
ZOJ1004 && HDU1515 dfs回溯
题目大意:就是通过一个栈进行字母入栈出栈得到想要的字符,把所有可能的方式全部输出自己写的方法一开始一直不能过,后来参考了别人的方法,写出来的比较简单的代码这段代码更有回溯的感觉,自己后来又把自己原来想法的代码写了一遍,终于写出来了,不过有点让人头晕 1 #include 2 #include 3.....
分类:其他好文   时间:2014-09-26 01:46:48    阅读次数:284
HDU 5033 Building
题意: 地面上有n座楼  你分别站在m个位置上  问每个位置上能看见多大角度的天空 思路: 很明显能想到在站的位置两边维持单调性  因此我们可以将站位和楼的位置排序  从左到右维护一遍  再从右到左维护一遍  这里可以利用单调栈  对于新扫描到的位置  如果是楼  那么栈中比它矮的楼就没用了可以出栈  如果是站位  可以这样判断  如果可以看见栈底的楼(最高的楼)那么前面的矮楼一定不会影响后...
分类:其他好文   时间:2014-09-24 12:53:56    阅读次数:161
UVA 514 Rails
UVa514 Rails(铁轨) 题目描述: 某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1-n.你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶入车站。例如,出栈顺序(5 4 1 2 3)是不可能的,但是(5 4 3 2 1)是可能的。 题目分析: 为了重组车厢,借助中转站,对于每个车厢,一旦从A移入C就不能回到A了,一旦从C移入B,就不能回到C...
分类:其他好文   时间:2014-09-23 17:46:25    阅读次数:225
两种基本的数据结构
栈的基本操作包括入栈push和出栈pop,栈有一个栈顶指针top,指向最新如栈的元素,入栈和出栈操作操作都是从栈顶端进行的。   队列的基本操作包括入队enqueue和出队dequeue,队列有队头head和队尾tail指针。元素总是从队头出,从队尾入。采用数组实现队列时候,为了合理利用空间,可以采用循环实现队列空间的有效利用。   关于栈和队列的基本操作如下图所示: 采用数组简单实现一下栈...
分类:其他好文   时间:2014-09-22 01:16:21    阅读次数:499
HDU 5033 Building (单调栈)
题意: 给出N幢摩天大楼的位置和高度,有Q次查询,问在某点处能看见天空的角度范围。 分析: 一开始的想法是维护一个单调栈,首先离线数据并排序排序,然后左右扫两边。单调栈内大楼的高度要递减,然后判断栈顶元素是否比它的前一个更优,如果不是则出栈。但是如果栈顶元素比它前一个优,并不能保证是全局最优的。 正确的维护方法是保证单调栈内的大楼高度递减,而且要使得这些大楼的最高点构成一个类似凸包的形状,或者说是凸包的一部分,然后再判断栈顶元素和它前一个比是否更优,如果不是则出栈。这样最后的栈顶元素就是待查询点在某方向的视...
分类:其他好文   时间:2014-09-21 23:18:21    阅读次数:307
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!