-2

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

4

1 回答 1

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());
}
于 2012-04-20T08:27:23.937 回答