码迷,mamicode.com
首页 >  
搜索关键字:两个栈    ( 569个结果
两个堆栈实现一个队列和一叠两个队列实现【算法导论课后题】
两个栈实现队列两个队列实现堆栈问题,网上有很多资料。这里仅仅是叙述操作方法的介绍觉得至少。两个栈实现一个队列思想:假设两个栈分别为s1,s2。对s1进行入队,出队时,先推断s2是否为空,假设是则将s1中元素压入s2并弹出最上面元素,假设不是,则直接弹出s2最上面的元素。EnQueue(s1,s2,k...
分类:编程语言   时间:2015-07-25 21:14:51    阅读次数:120
逆波兰表达式的实现(也叫后缀表达式)
本文主要偏重实现如何将字符串表达式转换为逆波兰表达式。关于其讲解参考我转载的一篇博文:http://www.cnblogs.com/vpoet/p/4659546.html先说说优先级:() +- */%(从左到右递增)下面先简单再梳理一下:1.建立两个栈,一个为N(数据栈),一个为OP(运算...
分类:其他好文   时间:2015-07-24 20:15:51    阅读次数:177
剑指offer:用两个栈实现队列
题目:用两个栈实现一个队列。请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除结点的功能。队列的声明如下:template class CQueue{public: CQueue(void); ~CQueue(void); // 在队列末尾添加一...
分类:其他好文   时间:2015-07-21 12:00:18    阅读次数:118
两个栈实现一个队列
用两个栈实现一个队列的功能。解题思路假设两个栈A和B,且都为空。 栈A提供push()功能,栈B提供pop()功能。 入队列:入栈A。 出队列: 如果栈B不为空,直接弹出B的元素。 如果栈B为空,则依次弹出栈A的元素并压入栈B中,再弹出B中的元素。 实现代码#include #include using namespace std;template<clas...
分类:其他好文   时间:2015-07-20 21:37:21    阅读次数:101
[剑指Offer]9.用两个栈实现队列
题目用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路用栈来模拟队列。我们首先插入一个元素a到stack1中,再压入两个元素bc,此时栈中有元素abc,其中c位于栈顶,而stack2仍然为空。我们试着删除一个元素。按照队列先进先出的原则,我们应该先删除元素a。元素a存放在stack1中且不在栈顶,因此不能直接删除。注意到stack2还未使用,我们把stack1中...
分类:其他好文   时间:2015-07-20 16:17:14    阅读次数:103
(LeetCode)用两个栈实现一个队列
LeetCode上面的一道题目,原文如下: Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of queue.pop() -- Removes the element from in front of queue.peek() -- G...
分类:其他好文   时间:2015-07-14 11:23:27    阅读次数:131
Implement Queue using Stacks
该题算是比较简单的,思路是定义两个栈,一个做为入栈,一个做为出栈。入队列的话直接将元素压入入栈,出队列的话首先判断出栈是否为空,为空则将入栈中的元素依次压入出栈中,再从出栈弹出元素。 class Queue { public: // Push element x to the back of queue. void push(int x) { instack.pu...
分类:其他好文   时间:2015-07-12 11:22:24    阅读次数:132
从中序表达式到逆序表达式(逆波兰式)(四则运算表达式求值)
本份代码需要两个栈。一个是符号栈,一个是数字栈。输入中序表达式如9+(3-1)*3+10/2##define _CRT_SECURE_NO_WARNINGS#include#include#define max 100char ex[max]; /*存储后序表达式*//*函数功能:将中序表达式转化为...
分类:其他好文   时间:2015-07-07 12:43:02    阅读次数:207
Solution 2: Min Stack
问题描述定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。实现栈的push(), pop()及getMin()函数,要求函数的时间复杂度为O(1).解决思路使用两个栈,一个为普通栈,实现push和pop函数;另一个记录所有入栈元素的非递增序列;如下图所示:程序public class ...
分类:其他好文   时间:2015-06-28 20:05:05    阅读次数:109
csu - 1537: Miscalculation (模拟题)
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1537因为给出的式子是必定合法的,只要用两个栈分别保存符号和数字.算出答案后和从左至右算的答案比对即可. 1 #include 2 #include 3 #include 4 #include ...
分类:其他好文   时间:2015-06-28 16:59:23    阅读次数:111
569条   上一页 1 ... 45 46 47 48 49 ... 57 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!