码迷,mamicode.com
首页 >  
搜索关键字:入栈    ( 1820个结果
栈、队列系列之实现一个包含min函数的栈
实现一个栈,除了push、pop操作外,还包括函数min实现返回栈中最小值的功能,要求时间复杂度均为O(1) //思路:增加一个辅助栈,将每次入栈操作后栈的最小元素(之前最小元素和新入栈元素的较小值)都保存在辅助栈里...
分类:其他好文   时间:2014-08-11 18:05:02    阅读次数:193
中缀表达式变为后缀表达式
中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”中缀表达式转后缀表达式的方法:1.遇到操作数:直接输出(添加到后缀表达式中)2.栈为空时,遇到运算符,直接入栈3.遇到左括号:将其入栈4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,...
分类:其他好文   时间:2014-08-10 12:57:10    阅读次数:226
实现O(1)获取最大最小值的栈----java
实现O(1)获取最大最小值的栈和队列----java 一.如何实现包含获取最小值函数的栈 问题:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的getMin函数。在该栈中,调用getMin、push及pop的时间复杂度都是O(1). 最小值思路:用一个辅助栈stack2记住每次入栈stack1的当前最小值:在stack1入栈时,往stack2中加入当前最小值;st...
分类:编程语言   时间:2014-08-09 23:16:29    阅读次数:360
栈的两个应用:括号匹配的检验和表达式求值
1. 括号匹配的检验 假设表达式中含有3种括号:(),[],{},其嵌套的顺序随意。检验括号是否匹配。 基本思想:在算法中设置一个栈,每读入一个括号,若是右括号,则或者与栈顶匹配的左括号相互消解,或者是不合法的情况;若是左括号,则直接压入栈中。若括号匹配,在算法的开始和结束时,栈都应该是空的。 代码...
分类:其他好文   时间:2014-08-07 00:26:37    阅读次数:385
栈Stack和段寄存器SS,SP(学习汇编)
1. 栈有2个基本操作:入栈、出栈2. 栈顶的元素总是最后入栈,最先出栈;后进先出。3. 8086CPU提供入栈和出栈的指令,最基本的两个是 PUSH(入栈) 和 POP(出栈) push ax 表示将AX寄存器的内容送入栈中, pop ax 表示从栈顶取出数据送入AX寄存器中。 8086CPU的....
分类:其他好文   时间:2014-08-06 22:24:12    阅读次数:1276
关于局部指针的一点总结
?? 经常碰到的问题,碰到函数局部变量指针的时候会出错。那么C++中函数局部变量指针是如何释放的呢? 在函数内定义的变量所占的内存会在函数返回时被清空,因此若是以局部变量做返回值,会返回一个空值。 具体说一下: 当编译器为函数调用产生代码时,它会先将所有的参数压栈,然后将返回地址压入栈中,最后为局部变量在栈中开辟空间,结构如下(栈顶在上方):                函数参数  ...
分类:其他好文   时间:2014-08-06 12:01:45    阅读次数:216
栈的压入弹出序列
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 代码: #include #include #include using namespace std; bool isStackSeq(int *pPush,int *pPop,int length){ bool isstack = false; if(pPush...
分类:其他好文   时间:2014-08-06 10:29:01    阅读次数:201
hdu1269 迷宫城堡,有向图的强连通分量 , Tarjan算法
hdu1269 迷宫城堡 验证给出的有向图是不是强连通图。。。 Tarjan算法板子题 Tarjan算法的基础是DFS,对于每个节点、每条边都搜索一次,时间复杂度为O(V+E)。 算法步骤: 1、搜索到某一个点时,将该点的Low值标上时间戳,然后将自己作为所在强连通分量的根节点(就是赋值Dfn=Low=time) 2、将该点压入栈。 3、当点p有与点p’相连时...
分类:其他好文   时间:2014-08-03 23:22:56    阅读次数:283
C语言中的malloc和free
最近在研究php自定义函数的实现,其中php自定义函数在传递参数时,是放到人为的一个栈中,这个跟写C程序时,参数入栈的这个栈还不一样,其中延伸到了 malloc 以及free有人说在free(p)后,要将p设置为NULL, 在查找了一翻资料后,大体上弄明白了是怎么回事参考资料:http://bbs....
分类:编程语言   时间:2014-08-03 17:51:55    阅读次数:225
UVa442 Matrix Chain Multiplication(矩阵链乘)
UVa442 Matrix Chain Multiplication(矩阵链乘) 题目链接:Uva442 题目描述:输入n个矩阵的维度和一个矩阵链乘的表达式,输出乘法的次数,如果乘法无法进行,则输出error。 题目分析: 栈对表达式求值有着特殊的作用,本题表达式简单,可以用一个栈来完成,遇到字母时入栈,遇到右括号时出栈并且计算,之后算出的结果入栈。 参考代码: //矩阵链乘....
分类:其他好文   时间:2014-08-03 10:19:15    阅读次数:225
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!