问题 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 将入队的元素,加入stack1,如果有出队操作,则将stack1中的元素依次压入stack2,从stack2中弹出元素就等于出队操作,直到从stack2中弹出所有元素,则才又从stack1中加入元素。 ...
分类:
其他好文 时间:
2016-04-17 16:05:29
阅读次数:
166
template<classT,intDEFAULT_CAPACITY=0>
classStack
{
public:
Stack();
Stack(constStack<T>&st);
Stack&operator=(constStack<T>&st);
~Stack();
public:
voidPush(constT&data);
voidPop();
T&Top();
T&End();
boolEmp..
分类:
其他好文 时间:
2016-04-09 17:07:15
阅读次数:
102
题目描述:用两个栈实现一个队列分析:栈的特性是后进先出,队列的特性是先进先出。如果用栈实现队列,入队的时候,应该直接给其中一个栈进行入栈操作,关键就在于怎样出队列,对于队列来说,出队列是在队头操作,也就是需要将先入栈(栈底元素)的元素让其出栈,显然,一个栈..
分类:
其他好文 时间:
2016-04-07 01:36:35
阅读次数:
145
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 Tips: 用两个栈实现一个队列的功能? 要求给出算法和思路! <分析>: 入队:将元素进栈A 出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈; 如果不为空,栈B直 ...
分类:
其他好文 时间:
2016-04-05 12:28:59
阅读次数:
129
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 1 class Solution 2 { 3 public: 4 void push(int node) { 5 stack1.push(node); 6 } 7 8 int pop() { 9 if(s
分类:
其他好文 时间:
2016-03-02 21:30:41
阅读次数:
120
public class QueueByStack { private Stack<Integer> stack1; private Stack<Integer> stack2; public QueueByStack() { // TODO Auto-generated constructor s
分类:
其他好文 时间:
2016-02-29 20:01:37
阅读次数:
126
惯例。看题:题目:用两个栈实现一个队列。队列的声明如下。请实现它的两个函数appendTail和deleteHead,分别完成对也尾部插入节点和队列头部删除节点的功能。队列结构:template<typenameT>classCQueue
{
public:
CQueue(void);
~CQueue(void);
voidappendTail(constT&..
分类:
其他好文 时间:
2016-02-14 22:27:48
阅读次数:
192
比较典型的一个题目,easy,不过可以有许多实现方式。这里用的方式是每次pop完成之后再将stack2中的内容立即倒回stack1中。但是其他的实现也可以不是这样,可以是需要push的时候检查再,如果内容在stack2中,这时候将其倒回在进行push。这里采取第一种比较笨的方法,代码如下所示: 1 ...
分类:
其他好文 时间:
2016-01-06 00:06:21
阅读次数:
241
题目用栈实现队列正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。样例比如push(1), pop(), push(2), push(3),...
分类:
其他好文 时间:
2016-01-05 20:54:36
阅读次数:
245
手写时候,别忘记import java.util.Stack;import java.util.Stack;class MyQueue { Stack s1 = new Stack(); Stack s2 = new Stack(); // Push element x to th...
分类:
其他好文 时间:
2015-12-21 12:37:23
阅读次数:
149