数据结构-栈、队列-栈
面5笔5假设栈初始为空,将中缀表达式 a/b+(c*d-e*f)/g转换为等价后缀表达式的过程中,当扫描到f时,栈中的元素依次是 ()
A.+(*-
B.+(-*
C./+(*-*
D./+-*
正确答案是 B
1.首先 / 入栈
2.+入栈,并把/挤出栈 。此时栈中只有/
3.( 入栈。入栈时 级别最高,所以直接入栈。但是入栈后级别最低。此时栈中只有(+
4 。* 级别高于( 。 所以*入栈,此时栈中有*(+
5. -入栈,因为-低于*,所以-把*挤出栈,此时栈中有-(+
6.*优先级高于-,所以*直接入。所以最终栈中从上到下为 *-(+ 从下到上为+(-×