すべてのデータ構造、アルゴリズムやアプリケーションカリキュラムのテンプレートをクリックしてください:https://blog.csdn.net/weixin_44077863/article/details/101691360
実際には、中置式ターンサフィックス(またはプレフィックス式)がカリキュラムの焦点ではありません
教師は言及しなかった手書きのコードの書き方について話します
しかし、私は、このアプリケーションを強調したいです
この、離散数学のパラダイムシフトの問題を学び、あなたが解決することができます
ほとんどのアプリケーションスタックの、あなたが便利なことができ、これを学びます
あなたがよりよい学びますこの、コンパイラの理論とコンピュータシステムを学ぶ(えっ..私は先生がそう言ったかわからない、ブロガーはちょうど年生でこれを書くとき)
いいえでたらめは、それは表現のすべての種類を意味するものについて話すんだろう
中置式:23 + 34 * 45 /(5 + 6 + 7)(我々が通常使用する式、途中でオペレータ)
接頭辞式:(また、ポーランド語として知られている)+ 23 / * 34 + 45 + 567
後置式:(逆ポーランド記法と呼ばれる)233 445 * 56 + 7 + / +
それを教える、私は接頭辞、接尾辞は、その後、私たちは主に、接尾辞について話している、だけ言っ言いませんでした
そして、コードは非常に面倒で、コードの上に、彼らはアイデアについて話をしない、との考えは、コードの出てきたものを考え出しました
接尾発現値を計算する前の話をする方法
実際には、接頭辞は、マシンが知られていない、それが接頭辞や接尾辞を使用すると、スタック数を使用することです
接頭辞:物事は常にスタック数がスタックにプッシュされ、以下の演算子であり、その数は来ているとき
操作者はスタックの上部を入れて、現在のデジタル及び取り出すことがディジタルが計算され、スタックに結果バック
最終結果までの操作のこの連続サイクルのみ
サフィックス:スタックに継続的に物事、オペレータの出会いは、スタックの先頭を置く2つの数値を取り出し、
計算を行い、その後、最終的な結果のみになるまでその操作のサイクルことを、バックスタックに結果を送信します
そして、言うは、接尾辞(私達はちょうど言うので、プレフィックスは、似ている)どのように順番に飾られています
中置転送postfixの方法:
まず、2つのスタック、スタックS1一時的に記憶遭遇オペレータ、ストレージスタックS2逆ポーランド
次に、以下の手順に順番共役接尾辞で実現することができます
(1)取り出された文字をそのままS2にオペランド、オペランドの完全な分析、オペランドスタックの場合
(2)フェッチされた文字は、オペレータ、オペレータスタックトップ素子S1、及び(ブラケット演算子を含まない)場合に演算子の優先順位S1スタックスタックの演算子の優先順位よりも大きい、ある場合スタックにS1オペレータ、そうでなければ、オペレータS1スタックポップスタックS2にスタック、スタックS1オペレータ以下スタック(等しくない)オペレータの優先順位、および最終的にオペレータに送信されるまでスタックにS1。
(3)フェッチされた文字を直接スタックS1の上部に、「(」である場合。
フェッチされた文字が「)」である場合(4)、最も近い距離S1スタックスタック「(」オペレータ間、スタックのうちずつは、スタックS2は「(」廃棄次いで、連続的に供給されます。