推免複習 資料結構 棧應用 計算表示式(版本1)

2021-09-25 10:27:43 字數 1083 閱讀 5553

這個表示式計算不出來emmm 2/(1+2+6/6/2-2)(8/2/2)

適用於 一位數的計算±//*()

**還不夠完善,希望可以寫全面各種型別的計算器

每次寫這個都卡殼,,,希望這次寫好一些

#include

#include

#include

using

namespace std;

class

calculator

while

(!op.

empty()

)}~calculator()

while

(!op.

empty()

) formula="";

}bool

input()

else

return

true;}

void

result()

;void

cal();

};void calculator::

cal(

)else

if(formula[i]

=='+'

||formula[i]

=='-'

) op.

push

(formula[i]);

}else

if(formula[i]

=='('

)else

if(formula[i]

==')'

) op.

pop();

}else

if(formula[i]

=='*'

||formula[i]

=='/'

)else

op.push

(formula[i]);

}}}while

(!op.

empty()

) cout

)<}void calculator::

result()

intmain()

return0;

}

推免複習 資料結構 順序佇列

設定隊頭隊尾兩個指標。front指向隊頭元素前乙個位置,rear指向隊尾元素。這樣出隊入隊時間複雜度都是o 1 進隊 rear rear 1 出隊front front 1 造成假溢位現象,即元素被插入到下標大的空間後,佇列的空間用盡了,可是陣列低端還有空閒空間。改進方法 使用迴圈佇列。進隊 rea...

推免複習之資料結構與演算法 環形佇列

back back 1 maxsize front front 1 maxsize 大致上就是這兩個操作,總之,問就是取餘。實現 如下所示 ps main函式裡的是我自己的測試 我能確定不會發生假溢位,有沒有其他bug我就沒有測試啦 p include includeusing namespace ...

推免複習之資料結構與演算法 快速排序

本來吧,快排我已經寫了一兩篇文章記錄了,但是我有一點強迫症,我想讓這個系列能包括盡量全面的演算法和知識點,所以我又重新寫了一篇文章放在這裡,其實就是簽個到hhh 具體的教程還是看別人的文章把,這些排序演算法的講解都要做很多圖,我沒這個耐心 include includeusing namespace...