问:已知元素的入栈顺序为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,正确。