随笔分类 -  Stack & Queue

摘要:输入两个整数序列,第一个表示压入顺序,判断第二个是否是该栈的弹出顺序。选择题1、思路: 对弹出序列的元素依次分析,如果下一个弹出的数字刚好是栈顶数字,那么直接弹出。如果下一个弹出的数字不在栈顶,我们把压栈序列中还没有入栈的数字压入辅助栈,直到把下一个需要弹出的数字压入栈顶为止。如果所有的数字都压入栈了仍然没有找到下一个弹出的数字,那么该序列不可能是一个弹出序列。IsOrder 1 #include <iostream> 2 #include <assert.h> 3 #include <stack> 4 5 using namespace std; 6 7 阅读全文

posted @ 2013-04-08 22:26 月moon鸟 阅读(171) 评论(0) 推荐(0)

摘要:转:http://zhedahht.blog.163.com用两个栈实现队列。定义栈的数据结构,请在该类型中实现一个能够得到栈的最小min函数。在该栈中,调用min和push及pop的时间复杂度都是O(1)。1、思路: 一个栈是先入后出,两个配合就是先入先出。一个栈负责push,一个负责pop,当pop栈没有数据了需要去push栈中去拿。Queue 1 #include <iostream> 2 #include <stack> 3 #include <exception> 4 5 using namespace std; 6 7 template < 阅读全文

posted @ 2013-04-08 20:30 月moon鸟 阅读(157) 评论(0) 推荐(0)

导航