作者qazxsw99 (qazxsw99)
看板Prob_Solve
標題Re: [問題]請問我要啥資料結構
時間Thu Aug 31 13:14:44 2006
※ 引述《horngsh (dotNetProgrammer)》之銘言:
: 各位好:
: 我想作一個類似運算式分析並運算的命令列, 如以下:
: ? 1+3
: 4
: ? 2*6
: 12
: ? 1+3 + 2*6
: 16
: ? (1+5) * 6 + 2*4
: 44
: 請問我要如何去parse使用者可能輸入的算式並算出答案?
: 感恩您!
轉成後序表示法(postfix expression)
經由...二元樹或是堆疊來存資料
然後運算...
ex: AB*
堆疊裡面的資料是:
top: *
B
A
pop出第一個(*) 暫存
隨後若pop出兩個都是數字就做運算
至於括號...您可以多想一點就知道如何達成了~:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.163.45
※ 編輯: qazxsw99 來自: 61.231.163.45 (08/31 13:16)