码迷,mamicode.com
首页 >  
搜索关键字:两个栈    ( 569个结果
数据结构:两栈共享空间
两栈共享空间方法: 数组有两个端点,两个栈有两个栈底,让一个栈的栈底为数组的始端,即下标为0处,另一个的栈底为数组的末端,即下标为n-1处。这样,如果两个栈增加元素,就是两端点向中间延伸。当top1 + 1 == top2 的时候为栈满。 但是这只是针对两个具有相同数据类型的栈的一个设计上的技巧,这...
分类:其他好文   时间:2015-02-09 17:31:26    阅读次数:197
如何用两个栈实现一个队列
How to use two stacks to implement a queue ?今天看到的有意思的问题题,哇咔咔,简直益智类哇~ """ Code writer : EOF Code date : 2015.02.08 Code file : Queue_by_two_stack.py e-mail : jasonleaster@163.comCode descriptio...
分类:其他好文   时间:2015-02-09 00:48:41    阅读次数:182
Leetcode_Min Stack
设置两个栈,一个vbase用于存放原来的数据,一个minbase用于存放最小数据。将第一个进栈的数据同时压入两个栈中。在之后压入数据时,对于vbase,直接将数据压入即可;对于minbase,则需要比较待压入的数据与vbase顶端数据的大小,小于等于vbase顶端的数据,就将这个数据也压入minbase中。如果后来得到的值是大于当前最小栈顶的值的,那么接下来pop都会先出去,而最小栈顶的值会一直在...
分类:其他好文   时间:2015-02-08 14:10:32    阅读次数:133
7 两个栈模拟队列,两个队列模拟栈
利用两个栈模拟队列 stack1,stack2 首先向stack1当中放入数据,如果需要输出数据,从stack2中delete数据,如果stack2为空,就把stack1中数据导入stack2 #include "static.h" #include #include template class CQuue { public: CQuue(){}; ~CQuue(){}...
分类:其他好文   时间:2015-01-12 19:15:24    阅读次数:144
两个栈模拟一个队列和两个队列模拟一个栈
此为网易的一道笔试题。到时候秀逗,不知所云。后来研究之后记录下,以备以后经常翻阅。 栈:先进后出 push和pop 队列:先进先出 offer和poll (1)两个栈模拟一个队列 即将先进后出实现先进先出。比较容易理解,只要所有数据先往一个栈里push,然后将该栈中的数据依次pop出来再push进第二个队列,则顺序自然颠倒过来了,则每次pop是从第二个队列中取数据。 import jav...
分类:其他好文   时间:2015-01-03 17:26:42    阅读次数:187
[leetcode]Min Stack
老题目。两个栈。class MinStack { stack stk; stack minstk;public: void push(int x) { stk.push(x); if (minstk.empty() || minstk.top() >= ...
分类:其他好文   时间:2015-01-01 00:04:51    阅读次数:179
NYOJ35 表达式求值【栈】
题目大意:给你一个计算表达式,求出最终结果。 思路:用两个栈来分别存数和操作符, 遇到'(',操作符入栈,遇到')',计算括号内的 式子。遇到'+'、'-'、'*'、'/'就比较当前运算符与栈中运算符的优先级,大于等于于栈 中优先级就计算,否则就入栈,留待下次计算。最后计算栈中剩下优先级低的相应式子...
分类:其他好文   时间:2014-12-13 12:15:49    阅读次数:203
编程之美---队列中取最大值操作问题
如何快速获取队列中的最大值?最简单的办法,用一个for循环遍历,复杂度为o(n).解法二:用大顶堆来实现,复杂度为哦o(1),但是入队和出队复杂度变为o(logN),堆中的每一个元素还得有个指针指向它的后继元素。解法三:可以使用两个栈来模拟队列,从右边的栈进入元素相当于入队,出队时,只有当左边的栈为...
分类:其他好文   时间:2014-12-13 12:09:16    阅读次数:173
C++算法之 用两个栈实现一个队列
算法思路: 一个栈用来入队列,一个栈用来出队列: 现有两个栈s1 和s2;s1用来入栈,比如  队列进入  1 2 3 4 5 那么s1进栈 1 2 3 4 5 ,现在要出队列,意思就是要1先出来; 那么我们把栈s1的数据取出来都压到栈s2当中,那么栈s2就是 5 4 3 2 1 ;s2再出栈,此时1出栈就模拟出出队列的效果;   编写代码: // QueueFrom2Stack.cp...
分类:编程语言   时间:2014-12-08 19:40:39    阅读次数:215
剑指OFFER之用两个栈实现队列
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。输入:每个输入文件包含一个测试样例。对于每个测试样例,第一行输入一个n(1=0)2. POP 从队列中pop一个数。输出:对应每个测试案例,打印所有pop操作中从队列pop中的数字。如果执行pop操作时,队列...
分类:其他好文   时间:2014-12-07 23:00:47    阅读次数:172
569条   上一页 1 ... 49 50 51 52 53 ... 57 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!