码迷,mamicode.com
首页 >  
搜索关键字:两个栈    ( 569个结果
CERC 2012 J (拓扑排序)
题意:一些具有拓扑序的节点需要染色,这些节点一共分为两类。问你按照给出的拓扑顺序染色完结点最少需要多少次切换。思路:我们按照拓扑排序的做法,建立两个栈分别存放两种不同种类的节点,每次把一个栈中的所有节点都处理完了才处理另一个,这样切换次数即为最终答案。代码如下: 1 /**************....
分类:其他好文   时间:2014-07-03 09:28:29    阅读次数:169
数据结构栈之计算后缀表达式
对于一个给定的后缀表达式,(假设它是合法的) 注意:次算法是基于基本操作符是2元操作符且操作数为一位正整数! 其求值的基本思想是:对于给定的表达式进行遍历,如果遇到的是操作数就将其压入栈;如果遇到的是操作符,将栈顶的两个元素弹出,假设栈顶两个元素依次为a,b(a在上b在下),将次操作符应用于这两个栈顶元素,比如b-a(注意b在左a在右)然后将计算结果压入栈(用来充当下一个操作符的操作数); ...
分类:其他好文   时间:2014-07-02 08:31:22    阅读次数:194
【剑指offer】用两个栈实现队列
题目:用两个栈实现一个队列。队列的声明如下:请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 分析: 队列的特点是“先进先出”,而栈的特点是“先进后出”。要用两个栈来实现队列。用图分析如下: 程序代码如下: #include #include #include #ifndef ERROR #define E...
分类:其他好文   时间:2014-07-02 08:00:24    阅读次数:247
利用栈实现队列(C语言实现)
在上一篇优化后队列的实现(C语言实现) 中,虽然我们对队列的时间复杂度进行了优化,但是却让代码的可读性变差了,代码显得略微臃肿(当然,这些话你看看就好,主要是为了奉承这篇博文的)。 这里主要实现的是:利用栈来实现队列 基本思路: 1,创建两个栈 2,两个栈合并起来组装成一个队列,分别取名为instack,outstack,用于进队列,出队列 3,比如有1,2,3,4,5 需要进入队列,先将这一串数压入instack栈中,假设压入顺序为1,2,3,4,5(1为栈底),再将instack中的数据移入outst...
分类:编程语言   时间:2014-06-22 14:00:43    阅读次数:257
每天一个小算法(6)---- 通过两个栈实现一个队列
这个算法也很简单,定义两个栈m_aStack、m_bStack,m_aStack负责push()数据,m_bStack负责front()数据。思路:每一次front()取数据都会检查一下m_bStack是否为空,为空则把m_aStack的所有数据pop()出来push()到m_bStack中。因为S...
分类:其他好文   时间:2014-06-18 10:56:23    阅读次数:190
数据结构《21》----Immutable queue
用上一篇文章的immutable stack 来实现 immutable queue. 其实就是用两个栈实现队列,就 {CSDN:CODE:395989}...
分类:其他好文   时间:2014-06-18 06:21:56    阅读次数:201
剑指offer (7) 两个栈实现队列 两个队列实现栈
题目:用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead,分别完成队列尾部插入结点 和 队列头部删除结点AppendTail:直接将元素入栈stack1DeleteHead:当stack2中不为空时,在stack2中的栈顶元素是最先进入队列的元素...
分类:其他好文   时间:2014-06-07 07:06:14    阅读次数:232
关于队列与栈相互模拟的读书笔记
栈与队列都是比较高级的数据结构,虽然不难,但有时有些问题也比较灵活,在《编程之美》与《剑指offer》上就有一些这样的题目。用队列模拟栈、用站栈模拟队列,以及现实队列与栈的最大值与最小值求解,这些都是基础的,只要理解栈的后进先出与队列的先进先出特点即可解决。 1、栈模拟队列       用两个栈,元素从一个栈stackA进入,从另一个栈stackB出来。进队列时直接添加到stackA,出队列时...
分类:其他好文   时间:2014-05-23 02:28:08    阅读次数:213
用两个栈实现队列
用两个栈实现队列。...
分类:其他好文   时间:2014-05-23 01:36:57    阅读次数:246
微软100题系列之-----设计包含min函数的栈
题意: 定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。 要求函数min、push 以及pop 的时间复杂度都是O(1)。 思路:定义两个栈,一个用来记录数据的插入和删除,一个用来存储最小值的变化 代码如下: template class Stack { public: Stack(int len=100); T Min(); ...
分类:其他好文   时间:2014-05-22 23:46:32    阅读次数:359
569条   上一页 1 ... 54 55 56 57 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!