アプリケーション・スタック - 接尾中置式ターン

すべてのデータ構造、アルゴリズムやアプリケーションカリキュラムのテンプレートをクリックしてください: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は「(」廃棄次いで、連続的に供給されます。

 

公開された49元の記事 ウォンの賞賛0 ビュー1717

おすすめ

転載: blog.csdn.net/weixin_44077863/article/details/102217208