栈的应用2---后缀表达式
生活随笔
收集整理的這篇文章主要介紹了
栈的应用2---后缀表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計算機是如何基于后綴表達式計算的?
eg: 931-5*+
對于數字:進棧
對于符號:
從棧中彈出右操作數;
從棧中彈出做操作數;
根據符號進行運算;
將運行結果壓入棧中;
遍歷結束:棧中唯一數字為計算結果;
?中綴轉后綴算法:
對于數字直接輸出;
對于符號:
左括號:進棧;
運算符號(分兩種情況:) 與棧頂比較優先級
若棧頂符號優先級低:此時符號進棧(默認棧頂若是做括號,左括號優先級最低);
若棧頂符號優先級不低:將棧頂符號彈出并輸出,之后進棧。
右括號: 將棧頂符號彈出并輸出,知道匹配到左括號;
遍歷結束:
將戰中的所有符號彈出并輸出。
?
?
轉載于:https://www.cnblogs.com/584709796-qq-com/p/5824600.html
總結
以上是生活随笔為你收集整理的栈的应用2---后缀表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html5下划线用什么标签
- 下一篇: shell grep sed awk 练