棧的運算(瀏覽器頁面的退出與前進)————之極客時間筆記2

編譯器就是通過兩個棧來實現的。其中一個保存操作數的棧,另一個是保存運算符的棧。 我們從左向右遍歷表達式,當遇到數字,我們就直接壓入操作數棧;當遇到運算符,就與運算符棧的棧頂元素進行比較。如果比運算符棧頂元素的優先級高,就將當前運算符壓入棧; ☆ 如果比運算符棧頂元素的優先級低或者相同,從運算符棧中取棧頂運算符,從操作數棧的棧頂取 2 個操作數,然後進行計算,再把計算完的結果壓入操作數棧,繼續比較。
相關文章
相關標籤/搜索