0

算術式を取り、それを Infix から Postfix に変換し、答えを評価する Java プログラムを作成しようとしています。ただし、リンク リストを使用して式を多項式として表現し、それらに対して Postfix 評価を実行する必要があります。Infix から Postfix への変換を完了し、Postfix を評価する方法を知っています。しかし、Linked List を使用して多項式を表現するのに苦労しています。

たとえば、Postfix 式が次の場合: 40 50 -

404*10^1 + 0*10^1としてリンク リストに格納する必要があります。これは、Linked List に Coefficient と Exponent の 2 つのノードを持つことで実行できます。50でも同じ。

問題は、特定の式に必要なリンク リストの数がわからないことです。後置式が 40 50 60 - +の 場合、3 つの数値すべてを別々のリストに格納し、演算子が見つかるまでそれらをスタックに格納する必要があります。続行する方法について誰か提案を教えてください。

4

1 に答える 1

1

リンクされたリストに指数を格納する必要はありません。指数は、数字の位置によって指定できます。たとえば、365 は list として格納できますが、5->6->3リスト ノードごとに 1 桁を格納するのはあまり効率的ではありません。

入力数と同じ数の連結リストが必要になりますが、式を読む前にいくつあるかわかりませんよね?

于 2013-09-25T21:56:47.280 に答える