我們都知道,在C++中,括號中是唯一的「(」而不是「[」,我們可以檢查通過寫cout<<(2+3);
它會給我的5個輸出,但如果我寫cout<<[2+3];
或cout<<{2+3};
它會肯定會給錯誤,所以現在我們就知道,「(」是運營商和「[」是不是。綴以轉換使用堆棧
我的問題有2個部分。
我的問題的第一部分是,如果我想轉換表達式如下:
「a + b + [(b + c)+(d + e)(f + e)] (g + h)/(a + b)「 into postfix using stacks,will i push'['in stack too or i will just store it it like like other operands are stored字符串。
我的問題的第2部分是將表達式轉換爲使用堆棧的後綴後,我得到的答案是「ab + [bC++ de + fe +] * gh + * ab +/+」,它是正確的嗎?在這個過程中,我並沒有將'['放入堆棧,因爲我正在考慮將它作爲操作數。
'現在我們來了解'('是一個操作符,'['不是':你是什麼意思?每個操作符都是專門爲它的操作設計的 – batMan
我認爲你沒有得到我的觀點,我只是想要求中綴算法使用堆棧後綴轉換說,當你遇到一個括號時,你把它推入堆棧,而不是'['?' –