进栈出栈规则

先弄个例子:

已知元素的入栈顺序为abcde,则下列哪种出栈顺序是不可能的(出栈和入栈操作可交叉进行)

A.edcba

B.cabde

C.dcbae

D.bcdea

规则:
先进后出,后进先出

口诀:
在原序列中相对位置比它小的,必须是逆序;
在原序列中相对位置比它大的,顺序没有要求;
以上两点可以间插进行。

分析:
A选项正确: 比e小的有 abcd,根据后进先出,则edcba ,

B选项错误: 比c小的是ab,必须逆序,则结果cabXX,肯定是错误的。

C选项正确:比d小的abc,必须逆序,则结果是dcba补上a

D选项正确:

比b小的是a,逆序等于还是a,

然后对比第二位,比c小的ab,因为b已经排了,则还是a

然后对比第三位,比d小的abc,因为bc已经排了,则还是a

然后对比第四位,比e小的abcd,因为bcd已经排了,则还是a

你可能感兴趣的:(进栈出栈规则)