Java无法将某些东西从堆栈移动到队列中

时间:2013-12-11 20:13:42

标签: java stack queue shunting-yard

所以我正在编写一个函数来对某些数字/运算符执行分流码算法。问题是我在最后有一个循环,它将所有剩余的运算符添加到输出队列,但由于某种原因它们没有被添加。我已经测试了它并且程序进入循环,并且堆栈在进入循环之前有数字但它们从未被添加到队列中,堆栈在经过循环后也是空的,所以看起来运算符从堆栈中弹出但未添加到队列中。以下是相关的代码:

while(operatorStack.empty() != true)
{
    System.out.println("Hello");
    outputQueue.add(operatorStack.pop());
}

编辑:

我的堆栈和队列实现是:

Queue<Object> outputQueue = new LinkedList<Object>();

Stack<Character> operatorStack = new Stack<Character>();

0 个答案:

没有答案