1

計算機をプログラミングする手段としてスタックとキューを使用することに関するクラスのトピックを理解しようとしています。中置式と後置式が何であるかは理解していますが、プログラムが式を評価しやすくする方法と、この状況でキューとスタックが理想的な理由は何ですか? ありがとう

4

1 に答える 1

4

これにより、操作の順序が処理しやすくなります。次に例を示します。

+ * - 4 2 5 3

意味しかない

((4 - 2) * 5) + 3

どちらの方が読みやすいかもしれませんが、それを理解するには、演算の順序と一致する括弧を知る必要があります。

実装に関しては、スタックがある場合、上記の式を次のように処理できます。

  1. 読み取り+(操作)、スタックにプッシュ、
  2. 読み取り*(操作)、スタックにプッシュ、
  3. 読み取り-(操作)、スタックにプッシュ、
  4. (数値)を読み取り4ます。スタックの一番上は数値ではないため、スタックにプッシュします。
  5. (数値)を読み取り2、スタックの一番上は数値なので、スタックから 2 回ポップし、 を取得し4 - 2、それを計算 ( 2) し、結果 ( ) をスタックにプッシュし2ます。
  6. (数値)を読み取り5ます。スタックの一番上は数値なので、スタックから 2 回ポップすると、 が得られ2 * 5、結果 ( ) がスタックにプッシュ10されます。
  7. (数値)を読み取り3ます。スタックの一番上は数値なので、スタックから 2 回ポップすると、 が得られ3 + 10、結果 ( ) がスタックにプッシュ13されます。
  8. 読み取るものが残っていないため、スタックからポップして結果を返します ( 13)。

ご覧のとおり、式はいくつかの単純なルールを使用して評価され、文字列全体で括弧を検索したり、乗算が足し算や引き算よりも優先されるかどうかを判断したりする必要はありません。

于 2012-03-04T04:47:30.237 に答える