队列(先进先出)和栈(先进后出)都是常用的经常讨论的基本的数据结构,本文要讨论的是一对有趣的问题:如何用两个栈(队列)实现一个队列(栈),下面将分别说明,并附示例代码。
1、用两个栈实现一个队列 基本思路:初始有两个空栈s1和s2,当入队列是,将元素加入s1,而出队列则从s2出,当然s1与s2之间存...
分类:
其他好文 时间:
2014-05-08 15:12:30
阅读次数:
397
剑指offer上的第七题,之前在Cracking the Coding interview上做过该题,这次把原来的程序搬了过来,并根据九度OJ的测试系统写了测试代码,在九度OJ上AC。
时间限制:1 秒内存限制:128 兆
题目描述:
用两个栈来实现一个队列,完成队列的Push和Pop操作。
队列中的元素为int类型。
输入:
每个输入文件包含一个测试样例。
对于每个测试样例,第一行输入一个n(1<=n<=100000),代表队列操作的个数。
接下来的n行,每行输入一个队列操作:
1. PUSH X 向队列...
分类:
其他好文 时间:
2014-05-07 06:36:48
阅读次数:
431
要求:从上往下打印二叉树的每个结点,同一层的结点按照从左到右的顺序打印。算法思想:每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的结点,重复前面的打印操作,直到队列中所有的结点都被打印出来为止。
分类:
其他好文 时间:
2014-05-05 10:00:38
阅读次数:
307
转战单调队列,争取省赛前做完。。。。
这个题是很裸的单调队列。
不能用stl让人很蛋疼。。。。
就是用一个队列保存当前队伍的信息,如果来了一个大的,就把前面的小的挤掉。
#include
#include
#include
#include
#include
#include
using namespace std;
#define maxn 55000
#define INF 99999...
分类:
其他好文 时间:
2014-05-03 16:28:35
阅读次数:
342
题目地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=82AC代码:讲解,先统计在可搜索范围内对应的钥匙数,把搜到的门存到另外的一个队列中,第一个搜索结束后,开始看搜到的钥匙能否打看门,
如果能打看门,存到第一个队列中,在进行搜寻,知道找到宝藏,...
分类:
其他好文 时间:
2014-04-29 22:12:16
阅读次数:
550
MySQL
server为每一个connection建立一个thread为其服务,虽然thread create比着fork
process代价高,单高并发的情况下,也不可忽略。 所以增加了Thread cache,重载了exit方式,cache
Thread到一个队列中,当有新的THD请求时,从....
分类:
数据库 时间:
2014-04-28 08:54:55
阅读次数:
1598