码迷,mamicode.com
首页 >  
搜索关键字:两个栈    ( 569个结果
用两个栈实现一个队列
思路: 使用两个栈实现一个队列,栈A用作插入栈,栈B用作弹出栈。 队列的特点为先进先出。 代码如下: ...
分类:其他好文   时间:2017-08-08 16:48:23    阅读次数:161
等价表达式
等价表达式 栈的经典题目,开两个栈,一个存符号,一个存数字; 分情况讨论: 1.如果当前读到的运算符优先级小于栈顶,就进行一次运算,直到大于等于; 2.如果读到数字用类似读入优化的方法读入进来; 3.如果当前符号为“(”则直接入栈; 4.如果当前符号为“)”则进行运算直到碰到“(”; 5.小技巧 在 ...
分类:其他好文   时间:2017-08-05 10:54:15    阅读次数:143
7 线性表-栈-顺序存储的拓展-迎面增长的存储方式
描述:设有两个栈,S1和S2,都采用顺序栈的存储方式。两个栈共享一个存储区:【0,……maxsize-1】目的:可以尽量利用空间,减少溢出的可能,采用栈顶相向、迎面增长的存储方式 PS:要注意判断栈满栈空的检查 ...
分类:其他好文   时间:2017-08-01 20:45:21    阅读次数:374
用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:有点类似于解汉诺塔,把stack2当做中转杆,使用栈stack1入队,队列的队首在栈stack1的栈底,这样出队的话肯定不符合队列先进先出的规则,这时用到stack2了,注意,只有stack2是空的,才可以把 ...
分类:其他好文   时间:2017-07-28 22:30:36    阅读次数:148
栈和队列的常见题型
一、常见题型如下: 1. 实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1) 2. 使用两个栈实现一个队列 3. 使用两个队列实现一个栈 4. 元素出栈、入栈顺序的合法性。如入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1) 5. ...
分类:其他好文   时间:2017-07-25 11:52:27    阅读次数:209
用户栈和内核栈
1. 操作系统中,每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。 2. 当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。 3. 内核栈是内存中属于操作系统空 ...
分类:其他好文   时间:2017-07-14 23:07:15    阅读次数:205
将中缀表达式转换为后缀表达式,然后利用栈对表达式求值。
一个算术表达式的后缀表达式形式如下: op1 op2 operator 使用两个栈,一个用来存储操作数,另外一个用来存储操作符,设计并实现一个 JavaScript 函 数,该函数可以将中缀表达式转换为后缀表达式,然后利用栈对该表达式求值。 ...
分类:其他好文   时间:2017-07-06 20:33:11    阅读次数:183
《剑指offer》— JavaScript(5)用两个栈实现队列
用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 实现代码 思路 入队:将元素进栈1; 出队:判断栈2是否为空,如果为空,则将栈1中所有元素pop,并push进栈2,栈2出栈; 如果不为空,栈2直接出栈。 相关知识 栈(stack)又名 ...
分类:编程语言   时间:2017-06-29 12:40:41    阅读次数:156
设计一个带有getmin功能的栈,保证时间复杂度在O(1)
2017-06-22 20:56:10 需要得到最小值,最简单的思路就是遍历一遍求出最小值。但是这样的时间复杂度会是O(n),不满足O(1)的要求。于是想到在建立一个栈来保存最小值。 具体操作是建立两个栈,一个存放数据,一个存放最小值。 push:首先将数据压入数据栈,若最小值栈为空,则将之压入最小 ...
分类:其他好文   时间:2017-06-22 21:45:21    阅读次数:165
【14】用两个栈实现队列
【题目】 【代码】 ...
分类:其他好文   时间:2017-06-16 16:48:03    阅读次数:132
569条   上一页 1 ... 27 28 29 30 31 ... 57 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!