画个图你看
a肯定对没啥说的,
b 1入 2入 2出 1出 3入 4入 5入 5出 4出 3出。
d 1入 2入 2出 3入 3出 4入 5入 5出 4出 1出。
c 1入 2入 3入 4入 4出 3出 此时要么5入,要么2出,不可能1出,所以错了。
可以看我的博客,对栈有具体地阐述。
栈的运算规则是后进先出,也就是说最后一个进入栈的元素最先被弹出。考虑只有两个元素的情况,第一个元素可以是第一个进入的元素,也可以是第二个进入的元素,因此共有两种情况。对于三个元素,第一个元素可以是第一个进入的元素,也可以是第二个进入的元素,还可以是第三个进入的元素,然后考虑第二个元素,在第一个元素已经选定的情况下,它可以是第二个进入的元素或者第三个进入的元素,最后一个元素只有一种选择。因此,三个元素共有 $2\times2\times1=4$ 种情况。以此类推,对于 $n$ 个元素,共有 $2^{n-1}$ 种情况。因此,总共可能出现的情况有 $2^0+2^1+2^2+...+2^{n-1}=2^n-1$ 种。其中,$2^0$ 表示只有一个元素的情况。