私はGoogle上で多くのアルゴリズムを見つけましたが、後置に変換する実行可能なアルゴリズムが見つかりません。どのようにC#の後置式に中立式を変換するには?助けてください...中置式をC#の後置式に変換する方法は?
-4
A
答えて
0
これはプログラムの学習のための素晴らしい小さなプロジェクトです。 2つの部分があります。コードを解析してツリーをpostfixとして出力します。各ツリーノードは、ルートノードとして4 + (5/6)
が+
であり、子が4と5/6の2つの子を持つ演算子です。 5/6
ノードを深く見ると、2人の子供がいる親が見つかります。親は/
、子は5
および6
です。
解析が最も難しい部分です。式を解析するには、解析する必要があるものを見て、演算子を見つけて、演算子の残されたものと正しいものを書き留めます。演算子はノードで、子ノードはParse(stuff to the left)
とParse(stuff to the right)
です。マイナスに注意する必要があります(これは単項演算子であり、厳密には中立ではありません)。マイナスを特別なケースとして扱うことをお勧めします。-4
は、の子を1つ持つマイナスノードではなく、-4
として解析する必要があります。方程式を解析するとき、すべての内部ノードは演算子でなければならず、すべての葉ノードは数字になります。
解析した後、印刷してください。ルートノードの場合、print(node)
は "("、左の子(再帰的に印刷する)、右の子(再帰的に印刷する)、演算子を、次に式(ノード)を ")"で閉じます。
私はこのアルゴリズムへのリンクを用意していませんが、自分で実装すれば、実際にはもっと大きくなります。
関連する問題
- 1. 中置式を後置式に変換する
- 2. 後置式式変換アルゴリズム
- 3. Calculatorの中置式を解く方法
- 4. 置換の_mm_shuffle_epi32をC式に変換しますか?
- 5. Haskell - バイナリツリーに後置式を変換する
- 6. sympyの式で複数のシンボルを置換する方法は?
- 7. excelで数式の一部を置き換える方法は?
- 8. 中置式電卓ラケット
- 9. regex - 検索して置換し、CSV形式に変換する
- 10. XML形式を別の形式に変換する方法は?
- 11. Roslyn:IdentifierNameを式に置き換える方法
- 12. 式をHTMLタグに置き換える
- 13. Pyeda:プレフィックス形式でと中置形でブール式を書くためのブール式の中置形が
- 14. IE8のCSS式をJavaScriptで置き換える方法
- 15. Python式をJava式に変換する方法は?
- 16. C#とMicrosoft.Office.Interop.Excel - 数式をその値で置き換える方法
- 17. 位置軸を時刻に変換する式
- 18. Visual Cでカーソル位置をテキスト位置に変換する方法は?
- 19. Moq廃止された式を置き換える方法
- 20. プログラミング中の後置詞変換(A^B^C)/(D * E)
- 21. C#でxls形式に変換する方法は?
- 22. 日付形式を別の形式に変換する方法
- 23. []形式のリストを()形式に変換する方法
- 24. Mathematicaのようにsageで式を置き換える方法は?
- 25. オブジェクト形式をjson形式に変換する方法
- 26. C#:長い形式をulongに変換する方法
- 27. 各リストをラムダ式に変換する方法C#
- 28. エンコードする方法置換の置換
- 29. 見つけ、変数式のExcelコードを置き換える
- 30. セルのテキストの式の置換テキスト
この投稿を見てくださいhttp://stackoverflow.com/questions/1438030/infix-to-postfix-converterまたはこの1つhttp://www.codeproject.com/Tips/370486/Converting-InFix-to -PostFix-using Csharp-VB-NET – Mulflar