我可以在不使用双链表和堆栈数据结构的情况下生成Postfix表示法

时间:2012-04-19 13:41:40

标签: java stack queue abstract-data-type postfix-notation

我的问题是关于“ postfix ”符号。在我的项目中,讲师希望我能够计算后缀符号。编程风格是免费的,但编程语言是Java。我将用Java编写代码,但我不熟悉抽象数据类型,如堆栈,队列。有没有办法计算没有堆栈,双链表和队列的后缀表示法?

1 个答案:

答案 0 :(得分:0)

这是如何使用堆栈:

@SuppressWarnings({"rawtypes", "unchecked"})
public static void main(String[] args) {
  final String in = "5 9 + 2 * 6 5 * +";
  final Deque<Object> s = new LinkedList();
  for (String t : in.split(" ")) {
    if (t.equals("+")) s.push((Integer)s.pop() + (Integer)s.pop());
    else if (t.equals("*")) s.push((Integer)s.pop() * (Integer)s.pop());
    else s.push(Integer.parseInt(t));
  }
  System.out.println(s.pop());
}