码迷,mamicode.com
首页 >  
搜索关键字:用两个栈    ( 343个结果
用两个栈实现一个队列
思路: 使用两个栈实现一个队列,栈A用作插入栈,栈B用作弹出栈。 队列的特点为先进先出。 代码如下: ...
分类:其他好文   时间:2017-08-08 16:48:23    阅读次数:161
用两个栈实现队列
用两个栈来实现一个队列,完成队列的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
将中缀表达式转换为后缀表达式,然后利用栈对表达式求值。
一个算术表达式的后缀表达式形式如下: 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
【14】用两个栈实现队列
【题目】 【代码】 ...
分类:其他好文   时间:2017-06-16 16:48:03    阅读次数:132
两个栈实现一个队列
用两个栈实现一个队列的功能。 解题思路 假设两个栈A和B,且都为空。 栈A提供push()功能,栈B提供pop()功能。 入队列:入栈A。 出队列: 假设栈B不为空。直接弹出B的元素。 假设栈B为空,则依次弹出栈A的元素并压入栈B中,再弹出B中的元素。 实现代码 #include <iostream ...
分类:其他好文   时间:2017-06-13 10:02:45    阅读次数:130
剑指offer算法编程题目部分汇总(解法略)
总结一下本书中遇到的大部分面试题。面试题3:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右的递增顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个整数,判断数组中是否含有该整数。 面试题4:替换空格 题目:请实现一个函数,把字符串中的每个空格替换成%20。 ...
分类:编程语言   时间:2017-05-31 12:05:22    阅读次数:138
P1155 双栈排序
双栈排序 洛谷链接 用双栈进行排序,也就是给出一个序列,让你用两个栈来排序,输出排序的操作类型。 实现也比较简单,如果存在一个k,使得i<j<k且a[k]<a[i]<a[j],那么i和j就不能存在一个栈中。 代码: 1 #include<cstdio> 2 #include<cstdlib> 3 # ...
分类:编程语言   时间:2017-05-08 16:54:41    阅读次数:184
算法小题
class Solution { public: bool Find(int target, vector<vector<int> > array) { int m = array.size();//行数 int n = array[0].size();//列数 int x =m-1,y=0; wh ...
分类:编程语言   时间:2017-05-04 20:11:10    阅读次数:197
343条   上一页 1 ... 16 17 18 19 20 ... 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!