栈S最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列( )序列不是可能的出栈序列
A.C、B、E、D、A、F
B.C、D、B、F、E、A
C.A、D、E、C、B、F
D.A、F、E、D、C、B
参考答案:D
解析: 栈是一种特殊的线性表,栈是限定在表的一端进行插入和删除运算的线性表。栈的操作原则是“后进先出”。依题意,栈S最多能容纳4个元素, 选项A) 的进出顺序如下:A进(栈中1个元素)→B进(栈中2个元素)→C进(栈中3个元素)→C出(栈中2个元素)→B出(栈中1个元素)→D进,(栈中2个元素)→E进,(栈中3个元素)→E出,(栈中2个元素)→D出,(栈中1个元素)→A出,(栈中0个元素)→F进,(栈中1个元素)→F出,(栈中0个元素) 元素的出栈顺序是:CBEDAF。 选项B) 的进出顺序如下:A进(栈中1个元素)→B进(栈中2个元素)→C进(栈中3个元素)→C出(栈中2个元素)→D进,(栈中3个元素)→D出(栈中2个元素)→B出(栈中1个元素)→E进,(栈中2个元素)→F进,(栈中3个元素)→F出,(栈中2个元素)→E出,(栈中1个元素)→A出,(栈中0个元素) 元素的出栈顺序是:CDBFEA。 选项C) 的进出顺序如下:A进(栈中1个元素)→A出,(栈中0个元素)→B进(栈中1个元素)→C进(栈中2个元素)→D进,(栈中3个元素)→D出(栈中2个元素)→E进,(栈中3个元素)→E出,(栈中2个元素)→C出(栈中1个元素)→B出(栈中0个元素)→F进,(栈中1个元素)→F出,(栈中0个元素) 元素的出栈顺序是:ADECBF。 选项D) 的进出顺序如下:A进(栈中1个元素)→A出,(栈中0个元素)→B进(栈中1个元素)→C进(栈中2个元素)→D进(栈中3个元素)→E进(栈中4个元素)→F进(栈中5个元素)→F出,(栈中4个元素)→E出,(栈中3个元素)→D出,(栈中2个元素)→C出,(栈中1个元素)→B出,(栈中0个元素) 由于栈S最多能容纳4个元素,E元素进入栈后,栈已经满,F元素不能再进入到栈中,所以选项D) 是不可能的出栈顺序。