有没有人可以解释入栈退栈?看不懂一个栈的初始状态为空,首先将元素5、4、3、2、1依次入栈,然后退栈一次,再将元素A

1个回答

  • 栈的特点是后进先出,就是说入栈的越早,出栈的时候出来的越晚。

    形象一点,可以把栈理解为一个只有一个口的袋子,进栈的时候,按顺序一个个进去,出的时候,因为只有一个口,还得从入口出去,所以只能是在上面的先出,下面的后出。

    回到题目,过程是:

    入栈:5,4,3,2,1

    出栈一次:1出栈;这时栈里还有元素:5,4,3,2;

    入栈:A, B, C, D;

    全部出栈:D,C, B,A,2,3,4,5;

    所有元素的退栈顺序是:1,D,C, B,A,2,3,4,5;

    很明显,你看的资料,给的答案是错误的,咱们要相信自己,书上的并不都是正确的。