0

我正在尝试编写一个 Java 程序,该程序采用算术表达式,将其从 Infix 转换为 Postfix 并评估答案。但是,我需要在链表的帮助下将表达式表示为多项式并对它们执行 Postfix 评估。我已经完成了中缀到后缀的转换并且知道如何评估后缀。但我正在努力使用链表来表示多项式表达式。

例如,如果后缀表达式是: 40 50 -

我需要将40作为4*10^1 + 0*10^1存储在链接列表中。它可以通过在链接列表中具有 2 个节点,系数和指数来完成。50也是一样。

问题是,我不知道任何给定的表达式需要多少个链表。如果后缀表达式是 40 50 60 - + 那么我需要将所有 3 个数字存储在单独的列表中并将它们存储在堆栈中,直到找到一个运算符。谁能给我任何关于如何进行的建议?

4

1 回答 1

1

您不需要将指数存储在链表中:指数可以由数字的位置给出。例如 365 可以存储为 list 5->6->3,尽管每个列表节点存储一个数字并不是那么有效。

您将需要与输入数字一样多的链表,并且在阅读表达式之前您不会知道有多少链表,对吗?

于 2013-09-25T21:56:47.280 回答