栈
dcjhyn
我很平凡,但我有一颗向上的心,不奢求惊天动地,小有成就可以给予身边的人幸福即可
展开
-
栈的压入、弹出序列(是否合法)
元素出栈、入栈顺序的合法性。如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1),则合法。入栈的序列(1,2,3,4,5),出栈序列为(4,5,2,3,1),则不合法。 bool IsPopOrder(const int* pPush, const int* pPop, int nLength) //三个参数:压入序列,弹出序列,序列长度{ bool bProssible原创 2017-07-20 15:43:57 · 342 阅读 · 0 评论 -
实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
#include <stack>#include <assert.h>template <typename T> class StackWithMin{public: StackWithMin(void) {} virtual ~StackWithMin(void) {} T& top(void); const T& top(void) const; voi转载 2017-07-19 16:46:02 · 774 阅读 · 0 评论 -
队列实现栈,栈实现队列
使用两个栈实现一个队列#include <iostream>#include <queue>#include <stack>using namespace std;template<typename T>class Queue{public: Queue(void){}; ~Queue(void){}; void appendTail(const T& node);原创 2017-07-19 12:57:43 · 237 阅读 · 0 评论