freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)學(xué)表達(dá)式解析前綴、中綴、后綴資料-wenkub

2023-04-19 04:29:43 本頁面
 

【正文】 因此結(jié)果為“ + 1 + 2 3 4 5”。前綴表達(dá)式的計(jì)算機(jī)求值:從右至左掃描表達(dá)式,遇到數(shù)字時(shí),將數(shù)字壓入堆棧,遇到運(yùn)算符時(shí),彈出棧頂?shù)膬蓚€(gè)數(shù),用運(yùn)算符對(duì)它們做相應(yīng)的計(jì)算(棧頂元素 op 次頂元素),并將結(jié)果入棧;重復(fù)上述過程直到表達(dá)式最左端,最后運(yùn)算得出的值即為表達(dá)式的結(jié)果。中綴表達(dá)式是人們常用的算術(shù)表示方法。它們之間的區(qū)別在于運(yùn)算符相對(duì)與操作數(shù)的位置不同:前綴表達(dá)式的運(yùn)算符位于與其相關(guān)的操作數(shù)之前;中綴和后綴同理。舉例:(3 + 4) 5 6 就是中綴表達(dá)式 + 3 4 5 6雖然人的大腦很容易理解與分析中綴表達(dá)式,但對(duì)計(jì)算機(jī)來說中綴表達(dá)式卻是很復(fù)雜的,因此計(jì)算表達(dá)式的值時(shí),通常需要先將中綴表達(dá)式轉(zhuǎn)換為前綴或后綴表達(dá)式,然后再進(jìn)行求值。例如前綴表達(dá)式“ + 3 4 5 6”:(1) 從右至左掃描,將3壓入堆棧;(2) 遇到+運(yùn)算符,因此彈出3和4(3為棧頂元素,4為次頂元素,注意與后綴表達(dá)式做比較),計(jì)算出3+4的值,得7,再將7入棧;(3) 接下來是運(yùn)算符,因此彈出7和5,計(jì)算出75=35,將35入棧;(4) 最后是運(yùn)算符,計(jì)算出356的值,即29,由此得出最終結(jié)果。后綴表達(dá)式(后綴記法、逆波蘭式)后綴表達(dá)式與前綴表達(dá)式類似,只是運(yùn)算符位于操作數(shù)之后。接下來是運(yùn)算符,因此彈出5和7,計(jì)算出75=35,將35入棧;(5) 將6入棧;(6) 最后是運(yùn)算符,計(jì)算出356的值,即29,由此得出最終結(jié)果。其中的toPolishNotation()方法將中綴表達(dá)式轉(zhuǎn)換為前綴表達(dá)式(波蘭式)、toReversePolishNotation()方法則用于將中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式(逆波蘭式):注:(1) 程序很長且注釋比較少,但如果將上面的理論內(nèi)容弄懂之后再將程序編譯并運(yùn)行起來,還是比較容易理解的。view plain2. import*an*or(RPN).inauthor{publicUSAGE==\nthethe13. +andbye39。/***18. void20. ScannerScanner()。input22. finalbye。an24. input0amp。{(Polish{catcha32. (IllegalArgumentException33. (\ninput}{invalid36. 37. Notation38. 40. (NumberFormatException41. (\ninputnumber.)。e)error:catchexpression.)。expression:)。50. (program51. 52. thecalculate55. throws57. staticIllegalArgumentException,60. inttempChar。s1=new65. double66. inti=len1。i)if70. lastIndex((lastIndex,72. (number)。=74. ifnumber)((int)76. else(number)。(isOperator(c))(!())39。amp。82. (),84. }else39。88. if(39。89. while)39。90. (),92. {IllegalArgumentException(bracketmissing)39。95. 96. }}==)ignore}100. throw101. wrong+)。=106. (),108. }{(()112. doublenewwrong115. ()。((int)result(int)118. else(the+120. 121. theit.*IllegalArgumentException*127. void128. NumberFormatExceptionlen=new133. double134. inti=0。++i)if=={readDouble(input,139. number142. ifnumber)((int))。+else148. amp。!=priorityCompare(c,{(()doubledouble(calc(num2,}=={else39。39。+num1num2num1,164. {IllegalArgumentException(bracketmissing(39。167. 168. }}==)ignore}172. throw173. wrong+)。=178. 179. =180. =181. tempChar))。()。(!())throwa187. ifresult)(the+193. calculatewithnum1*op*199. staticdoubleIllegalArgumentException(op)39。204. +205. casenum1:return/39。0)can39。return213. catch214. }}/***operat
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1