栈
南宫小仙僧
这个作者很懒,什么都没留下…
展开
-
用两个栈实现队列(C++模板)
题目:用两个栈实现一个队列。队列的声明如下,清实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。思想很简单,直接上代码:#include<iostream>#include<stack>#include<exception>using namespace std;template<typename T> class Cqueue{原创 2017-05-24 10:57:07 · 333 阅读 · 0 评论 -
用两个队列实现栈(C++模板)
这个可以和上一篇文章<<用两个栈实现队列>>对比着来学习。算法思想很简单,直接上代码吧:#include<iostream>#include<queue>using namespace std;template<typename T> class CStack{private: queue<T> q1; queue<T> q2; int nCount;public:原创 2017-05-24 13:59:01 · 349 阅读 · 0 评论 -
栈的压入、弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。例如序列1,2, 3, 4,5是某栈的压栈序列,序列4,5,3,2,1是该压栈序列的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。算法思想:如果下一个弹出的数字刚好是栈顶数字,那么直接弹出。如果下一个弹出的数字不在栈顶,我们把压栈序列中还没有入栈的数字压入辅助栈,直到把下一个需要弹出的数字压原创 2017-06-14 16:14:26 · 354 阅读 · 0 评论