#54092: 中序轉後序


ray2006950712@gmail.com (Ray Liu)


就是中序轉後序再求值的題目

 

#54093: Re: 中序轉後序


ray2006950712@gmail.com (Ray Liu)


就是中序轉後序再求值的題目

 

如果題目加上冪運算子(次方, "^")

那麼需要特別注意冪運算子是右結合

也就是 a ^ b ^ c = a ^ ( b ^ c )

右結合運算子在

#54094: Re: 中序轉後序


ray2006950712@gmail.com (Ray Liu)


就是中序轉後序再求值的題目

 

如果題目加上冪運算子(次方, "^")

那麼需要特別注意冪運算子是右結合

也就是 a ^ b ^ c = a ^ ( b ^ c )

右結合運算子在

如果題目加上冪運算子(次方, "^")

需要特別注意冪運算子是「右結合」

也就是 a ^ b ^ c = a ^ ( b ^ c )

 

在處理右結合運算子時

如果 operators 這個 stack 的 top 優先級「大於(不是大於等於)」該運算子

那就一直 pop operators 並將 pop 出來的運算子 push 到 postfix,直到不滿足該條件

出迴圈後再將該運算子 push 到 operators

 

由於 ^ 在 "+-*/%^" 中的優先級是最高的

我們不需比較,直接 push ^ 到 operators