java堆栈四则运算问题 20
怎么进栈的?从左到右还是从右到左?例如3*(2+3)+4这个式子字符栈是‘+)+(*’么?数字栈4323?还有一个疑问比较的时候还有不懂,和字符栈里面比较扫描的时候的方向...
怎么进栈的?从左到右还是从右到左? 例如 3*(2+3)+4这个式子 字符栈是‘ +)+(*’ 么? 数字栈 4323? 还有一个疑问 比较的时候还有不懂 ,和字符栈里面比较扫描的时候的方向是什么呢? 自己看不懂了 ,求明白的人指点。
展开
展开全部
栈都是先进的后出啊。因为栈永远是最后进入在最上边。出栈时是从最上边弹出的。
入栈 顺序是* ( + ) + 出栈时顺序就是 + ) + ( *
入栈如果是 1 2 3 4 出栈时 4在最上 所以出栈依次 是 4 3 2 1
入栈 顺序是* ( + ) + 出栈时顺序就是 + ) + ( *
入栈如果是 1 2 3 4 出栈时 4在最上 所以出栈依次 是 4 3 2 1
更多追问追答
追问
谢谢你的回答。这个我明白,我想问一下 堆栈四则运算的时候 ,是怎么让符号 进栈的 是 从左到右 还是 从右到左? 还有扫描 表达式 的方向 怎么扫描的?
追答
没有源码只能猜测一下 应该是从左向右扫描。
编译 int i=1+2(2+3)+5+; 提示符号错误在( 而不提示最后的+有误。
int i=1+2+(2+3)+5+; 则提示最后的+号有错误。
由此应该能看出应该是从左向右扫描 否则应该先提示最后的+号有问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询