问:已知元素的入栈顺序为abcde,则下列哪种出栈顺序是不可能的(出栈和入栈操作可交叉进行)
A.edcba
B.cabde
C.dcbae
D.bcdea
分析:出栈和入栈操作可交叉进行,说明入栈操作并不一定是连续进行的。由于栈有后入先出的逻辑特点,所以对于该题有如下规律
出栈的第一个元素是在原来的次序中是第几个,那么他的前面的元素必然都还在栈中。
比如c先出栈,说明此时ba已经入栈且一定还在栈中
A选项:e先出栈,说明栈中存在元素 d-c-b-a 。正确!
B选项:c先出栈,栈中存在 b-a ,元素b距离栈顶比较近。错误
C选项:d先出栈,栈中存在 c-b-a,正确。
D选项:b先出栈,栈中存在 a,正确。