码迷,mamicode.com
首页 >  
搜索关键字:进栈    ( 432个结果
剑指OFFER--用两个栈实现队列
栈 : 先进后出! ????????队列 : 先进先出! ????????那么怎么用栈来实现队列呢? ????第一版: ????????push() ?: ?直接将元素进栈1; ????????pop() ?: ?栈1 元...
分类:其他好文   时间:2015-08-10 13:45:26    阅读次数:102
中缀表达式到前缀表达式和后缀表达式
1、算法思路 转化为后缀:从左到右遍历中缀表达式,遇到操作数,输出,遇到操作符,当前操作符的优先级大于栈顶操作符优先级,进栈,否则,弹出栈顶优先级大于等于当前操作符的操作符,当前操作符进栈。     转化为前缀:从右到左遍历中缀表达式,遇到操作数,输出,遇到操作符,当前操作符的优先级大于等于栈顶操作符优先级,进栈,否则,弹出栈顶优先级大于当前操作符的操作符,当前操作符进栈。--参考该网址 ...
分类:其他好文   时间:2015-08-10 13:39:29    阅读次数:107
生成所有的出栈序列 (回溯法)
给定一个入栈序列,找出所有可能的出栈序列。如入栈序列为 [1, 2, 3] 则可能的出栈序列为 : [ 3 2 1 ] [ 2 3 1 ] [ 2 1 3 ] [ 1 3 2 ] [ 1 2 3 ]采用回溯法和递归统计所有可能的出栈序列。 当所有的入栈序列已经全部入栈后,则只能出栈 当栈为空时,只能进栈 当仍有入栈元素且栈不为空时,可以入栈,也可以出栈 入栈 -> 递归处理下一个入栈元...
分类:其他好文   时间:2015-08-09 22:42:46    阅读次数:208
生成所有的出栈序列 (回溯法)
给定一个入栈序列,找出所有可能的出栈序列。如入栈序列为 [1, 2, 3] 则可能的出栈序列为 : [ 3 2 1 ] [ 2 3 1 ] [ 2 1 3 ] [ 1 3 2 ] [ 1 2 3 ]采用回溯法和递归统计所有可能的出栈序列。 当所有的入栈序列已经全部入栈后,则只能出栈 当栈为空时,只能进栈 当仍有入栈元素且栈不为空时,可以入栈,也可以出栈 入栈 -> 递归处理下一个入栈元...
分类:其他好文   时间:2015-08-09 22:42:28    阅读次数:240
leetcode_Implement Queue using Stacks
1.用栈来实现一个队列,也就是用后进先出的栈实现先进先出的队列 2.这个还是很难想的,但总之还是比用队列来实现栈容易想,大概就是用两个栈stack1和stack2来模拟队列 3.所有的元素都从stack1进栈,所有元素都从stack2出栈,当stack2为空的时候,将stack1中的所有元素出栈并全部push到stack2中去 4.由于栈是后进先出的,两次后进先出的操作就实现了队列的功能...
分类:其他好文   时间:2015-08-07 09:36:18    阅读次数:118
C格式字符串转为二叉树
最近在LeetCode做题,二叉树出现错误时不好排查,于是自己写了一个函数,将前序遍历格式字串转换成二叉树。 形如 "AB#D##C##" 的字符串,"#"表示孩子节点为空,算法如下: 1.当前节点进栈 push(s,t) 2.出栈: pcur=pop(s) ,判断当前字符 a 不...
分类:其他好文   时间:2015-08-03 16:24:29    阅读次数:89
[js]数组栈和队列操作
写在前面在项目中,对数组的操作还是比较常见的,有时候,我们需要模拟栈和队列的特性才能实现需求,这里记录一下这个知识点。栈栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈...
分类:编程语言   时间:2015-08-01 11:16:16    阅读次数:281
寻找最大数(二)
寻找最大数(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给你一个数字n(可能有前缀0)。 要求从高位到低位,进行 进栈出栈 操作,是最后输出的结果最大。   输入有多组测试数据。 对于每组数据,输入一个n(0 输出输出栈操作后的结果。 样例输入 789 75948 样例输出 987 984...
分类:其他好文   时间:2015-07-24 22:46:17    阅读次数:209
栈与队列
【栈】          栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。也就是:后进先出(Last In First Out),简称为LIFO线性表。 栈的基本运算有六种: 构造空栈:InitStack(S) 判栈空: StackEmpty(S) 判栈满: StackFull(S) 进栈: Push(S,x)   可形象地理解为压入,...
分类:其他好文   时间:2015-07-22 10:39:06    阅读次数:105
栈和堆
1.栈 在函数调用时,第一个进栈的是被调用函数下一行的内存地址,其次是函数的参数,假如参数多于一个,那么次序是从右往左,最后才是函数的局部变量。 由于栈的先进后出原则,函数结束时正好与其相反,首先是局部变量先出栈,然后是参数,次序是从左到右,这时,所有的变量都已出栈,指针自然地知道第一个进栈的那.....
分类:其他好文   时间:2015-07-19 17:49:02    阅读次数:87
432条   上一页 1 ... 32 33 34 35 36 ... 44 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!