-3
something like this(*(+ 1 2 3)5)
像*,+這樣的運算符可以有兩個以上的操作數。如何從前綴表示法構建二進制表達式樹?
something like this(*(+ 1 2 3)5)
像*,+這樣的運算符可以有兩個以上的操作數。如何從前綴表示法構建二進制表達式樹?
要使用無限數量的操作數創建前綴表示法,您應該爲打開/關閉括號定義一些附加規則(並且這不是前綴表示法通常所做的)。
簡單的解析器將執行操作,第一個操作數並逐個添加其他操作數。在每一步創建新的操作節點時,左操作數將取前一個(當前)結果,右操作數取新取的操作數。
繼續輸入或結束括號。不要從輸入中刪除左括號 - 它應該在開 - 關解析部分處理,而不是在操作解析中處理。
以操作很簡單:
謝謝你亞歷山大 – Gunasekar
也許某種搜索?如果只有一個工具可以搜索互聯網.... –
如果你還沒有做到這一點,請花一些時間閱讀[幫助頁面](http://stackoverflow.com/help),尤其是部分命名[「我可以問什麼問題?」](http://stackoverflow.com/help/on-topic)和[「應避免問什麼類型的問題?」](http://stackoverflow.com /幫助/不-問)。還請[參觀](http://stackoverflow.com/tour)和[閱讀如何提出好問題](http://stackoverflow.com/help/how-to-ask)。最後,請學習如何創建[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 –