Java 双链表中缀到后缀

Java 双链表中缀到后缀,java,doubly-linked-list,Java,Doubly Linked List,对于类,我们的任务是使用“抽象中的双链接列表堆栈实现”将中缀表达式转换为后缀。我能够编写一个使用堆栈进行转换的程序,但是双链表的用途是什么?我们将向列表中添加哪些信息节点 这是作为示例提供给我们的stack类。为什么变量的下一个类型是堆栈?不应该是节点吗 public class Stack { private int data; private Stack next; private static Stack top; //Initialize Stack public

对于类,我们的任务是使用“抽象中的双链接列表堆栈实现”将中缀表达式转换为后缀。我能够编写一个使用堆栈进行转换的程序,但是双链表的用途是什么?我们将向列表中添加哪些信息节点

这是作为示例提供给我们的stack类。为什么变量的下一个类型是堆栈?不应该是节点吗

public class Stack {
  private int data;
  private Stack next;
  private static Stack top;

  //Initialize Stack
  public Stack () {
      top = null;
      next = null;
  }

  public Stack (int d, Stack node) {
      data = d;
      next = node;
  }

  public void push(int item) {
      top = new Stack(item, top);
  }

  public int peek () {
     if(top == null) {
         throw new EmptyStackException();
     } 
     return (top.data);          
  }

  public int pop () {
      int item;

      if(top == null) {
          throw new EmptyStackException();
      } else
          item = top.data;
      top = top.next;
      return (item);
  }

  public boolean empty () {
      return top == null;
  }
}

如果我创建一个双链接列表和节点类,节点对象中有哪些数据?

节点类的数据成员将是:指向上一个和下一个的指针,以及数据。

您必须将中缀符号转换为后缀,这意味着将2+2转换为2+ 在这种情况下,节点将保留运算符(+)或操作数(2),并保留指向列表中上一个和下一个节点的链接。 例如,如果我使用括号表示节点,使用箭头表示链接,则2+2看起来像:
NULL实际上是前缀,但我明白你的意思。考虑到您所说的所有其他内容,如果列表包含所有值,那么堆栈的用途是什么?等式中的每个元素是否作为节点添加到列表中,然后使用堆栈处理列表以转换为后缀?是的,堆栈似乎包含数字,节点将是运算符。谢谢你指出inflix vs前缀,我将编辑我的帖子来纠正这个例子。我很困惑,操作的顺序是什么?扫描字符串中的每个字符,然后。。。。