栈的出栈序列口诀 如果一个堆栈的入栈序列是abcde,则堆栈的输出序列是不可能是?为什么啊?请指教,谢谢?

如果一个堆栈的入栈序列是abcde,则堆栈的输出序列是不可能是?为什么啊?请指教,谢谢?有很多种可能性,例如cabde。我们先谈谈可能的情况吧。在这种情况下,a先进入堆栈,然后立即退出堆栈,然后BCD

如果一个堆栈的入栈序列是abcde,则堆栈的输出序列是不可能是?为什么啊?请指教,谢谢?

有很多种可能性,例如cabde。我们先谈谈可能的情况吧。在这种情况下,a先进入堆栈,然后立即退出堆栈,然后BCDE依次进入堆栈,所以有aedcb

但是cabde绝对不好,因为如果C是第一个退出堆栈的,肯定只有一种情况,AB先进入堆栈,C进入堆栈后立即退出堆栈。在这种情况下,a不会比B先退出堆栈