棧的運用 6

2022-08-19 10:36:09 字數 379 閱讀 3925

問題描述 

對以逆波蘭式的表示式求值。

問題分析 

上一題是把中綴表示式程式設計逆波蘭式,要對逆波蘭的表示式的求解就更簡單些了。

**  

view code

總結   

這道題開始想的時候只用到陣列的變換,a[j]=a[j-2]+a[j-1]可以看到**中的注釋,就是自己開始的想法,剛開始用簡單的資料測試的時候沒有出現問題,但是資料變複雜了就出現問題了,比如 123*+這個計算的結果應該是7,但是輸出的結果是9,後來發現問題了,這裡計算的步驟是2*3+3=9,所以這就出現問題了,這也是為什麼要用棧的原因吧,先將兩個數出棧,將結果計算出來後再入棧,就不會出現這樣的問題了,開始,還有個小問題,沒有把字元轉換成整型,計算出來的結果是比較大的資料。

棧的運用 6 逆波蘭式求值

問題描述 對以逆波蘭式的表示式求值。問題分析 上一題是把中綴表示式程式設計逆波蘭式,要對逆波蘭的表示式的求解就更簡單些了。view code 1 include2 include3 define stack init size 100 4 define stackincrement 10 5 typ...

單調棧的運用

單調棧本質上只是單調遞增或遞減的棧,有點類似於單調佇列,但不同之處在於插入乙個元素時,會彈出棧中 所有不符合單調性的元素 來個例子吧!當乙個單增的棧stack 向其中壓入元素6時,stack 向其中壓入元素2時,stack彈出2,3,4,且stack 向其中壓入0時,stack彈出1,2,3,4,s...

單調棧的運用

題目大意 有一群列隊,面朝右站立的牛,輸入每頭牛的身高,如果視線前方有一頭高於自己的牛,則看不到它之後的牛 求出所有牛能看到頭頂的個數。n方演算法超時,故考慮優化,首先能想到的是,在計算左邊的牛能看到多少牛時,可以利用右邊的結果。棧優化的思路即是,從右向左遍歷牛的身高,同時對棧進行操作 棧中存放牛的...