UVA 12096 - The SetStack Computer
题目链接
题意:几个操作,push是在栈顶加入一个空集,dup是复制栈顶集合,在放入栈顶,union是把头两个取并集放回,int是头两个取交集放回,add是取头两个,把第一个当成一个集合加入第二个,每次操作输出栈顶集合的里面的个数
思路:用set,stack模拟,然后利用map去hash一个集合,模拟即可
...
分类:
其他好文 时间:
2014-08-13 22:30:07
阅读次数:
370
cout是右结合的cout<<++a<<","<<a++;的运行顺序是1.a的值压栈2.a自加3.‘,’压栈4.a自加5.a的值压栈6.输出栈中元素int a[] = {1,3,5,7,9};int * p = a;cout<<a<<endl;cout<<p<<" "<<*p<<endl; ...
分类:
其他好文 时间:
2014-08-13 14:32:06
阅读次数:
181
题目地址:http://poj.org/problem?id=1363此题只需验证是否为合法的出栈序列。有两个思路:1、每个已出栈之后的数且小于此数的数都必须按降序排列。复杂度O(n^2),适合人脑。//思路 1 不对!!! 例如 数据 , 3 5 2 4 1 ------...
分类:
其他好文 时间:
2014-08-13 12:57:56
阅读次数:
266
Akka支持Actor消息循环处理部分的热切换,调用context.become方法可以使用新的消息循环处理替换当前的消息处理器,被替换的消息处理器被压到一个栈结构,支持消息处理器的出栈和入栈。注:但Actor重启时,它的消息循环处理恢复到初始的行为。become方法的参数类型为部分函数PartialFunction[Any, Unit],例如:1import akka.actor.Actor2i...
分类:
其他好文 时间:
2014-08-13 10:33:56
阅读次数:
255
火车进站,模拟一个栈的操作,额外的栈操作,查看是否能按照规定顺序出栈。
数据量很少,故此题目很容易AC。
直接使用数组模拟就好。
#include
const int MAX_N = 10;
char inOrder[MAX_N], outOrder[MAX_N], stk[MAX_N];
bool rs[MA...
分类:
其他好文 时间:
2014-08-12 03:27:23
阅读次数:
232
两个栈实现队列+两个队列实现栈----java一.两个栈实现一个队列思路:所有元素进stack1,然后所有出stack1并进入stack2.实现队列的先进先出即:若stack2非空,我们须要的恰好再栈顶,出栈;若要给队列加入元素,即先进sack1,要出队时,...
分类:
编程语言 时间:
2014-08-10 15:35:40
阅读次数:
278
中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”中缀表达式转后缀表达式的方法:1.遇到操作数:直接输出(添加到后缀表达式中)2.栈为空时,遇到运算符,直接入栈3.遇到左括号:将其入栈4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,...
分类:
其他好文 时间:
2014-08-10 12:57:10
阅读次数:
226
注:后序遍历是较麻烦的一个,不可大意。关键两点: 1.要走到 p->left | p->right ==0, 2.每次出栈出两个结点。
分类:
其他好文 时间:
2014-08-10 01:45:39
阅读次数:
286
两个栈实现队列+两个队列实现栈----java
一.两个栈实现一个队列
思路:所有元素进stack1,然后全部出stack1并进入stack2.实现队列的先进先出即:若stack2非空,我们需要的恰好再栈顶,出栈;若要给队列添加元素,即先进sack1,要出队时,若stack2不为空就出栈,为空时就把stack1全部进栈到stack2
二.两个队列实现一个栈
ps:图...
分类:
编程语言 时间:
2014-08-08 01:59:45
阅读次数:
292
[栈和队列] 编程离不开生活,栈就像袋子,先装的东西在下面,后面装的在上面,
当然倒出时,也是上面的先出,下面的后面出,这就是所谓的“先进后出,后进先出”栈的原理;而队列
就像过安检一样,先安检的先通过,后安检的后通过,这就是队列的思想——“先进先出,后进后出”。...
分类:
其他好文 时间:
2014-08-07 19:04:20
阅读次数:
204