已知一个栈,其入栈顺序为a, b, c, d, e,以下哪种是可能的出栈顺序?
答案解析
核心考点:栈的后进先出(LIFO)特性。
解题思路:根据栈的特性,元素必须在它之后入栈的元素都出栈后才能出栈。
选项分析:
A. a, e, d, c, b:a 入栈并立即出栈,然后b、c、d、e入栈,但之后无法按照e、d、c、b的顺序出栈,因为b是最后入栈的。错误。
B. e, d, c, b, a:所有元素都逆序出栈,符合栈的特性,正确。
C. a, b, e, d, c:a、b 入栈后,b先出栈,e入栈并出栈,之后无法按照d、c出栈,因为c在d之前入栈,c只能在d之后出栈,错误。
D. c, a, b, d, e:c 出栈,说明 a, b 一定已经入栈,但之后出栈的 a 和 b 的顺序错误。错误。
正确答案的依据是只有选项 B 的出栈顺序满足栈的LIFO特性。
易错点:元素只有在其之后入栈的所有元素都出栈后才能出栈。
正确答案:B