我们都知道,在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
我认为你没有得到我的观点,我只是想要求中缀算法使用堆栈后缀转换说,当你遇到一个括号时,你把它推入堆栈,而不是'['?' –