首页 > 试题广场 > 3个数顺序(依次)进栈,出栈序列有( )种。
[单选题]
3个数顺序(依次)进栈,出栈序列有( )种。

  • 4
  • 5
  • 6
  • 7
推荐
B。类比方法:假设三个数分别为1 、2、 3 ,且入栈顺序为1,2,3
  1. 1入栈弹栈,2入栈弹栈,3入栈弹栈                 出栈顺序:1,2,3
  2.  1入栈,2入栈弹栈,3入栈弹栈,1弹栈           出栈顺序:2,3,1
  3.  1入栈,2入栈,3入栈弹栈,2弹栈,1弹栈      出栈顺序:3,2,1
  4.  1入栈弹栈,2入栈,3入栈弹栈,2弹栈           出栈顺序:1,3,2
  5.  1入栈,2入栈弹栈,1弹栈,3入栈弹栈           出栈顺序:2,1,3
编辑于 2019-08-21 14:11:11 回复(0)
B.5种
设入栈的三个数分别为a,b,c,且入栈顺序为a,b,c。
则出栈顺序分别为:
a进栈,出栈;b进栈,出栈;c进栈,出栈。——>a,b,c
a进栈,出栈;b进栈,随后c进栈;c出栈,b出栈。——>a,c,b
a进栈,b进栈;b出栈,a出栈;c进栈,出栈。——>b,a,c
a进栈,b进栈;b出栈,c进栈;c出栈,a出栈。——>b,c,a
a进栈,b进栈;c进栈,c出栈;b出栈,a出栈。——>c,b,a
所以答案为B.5种
发表于 2019-08-20 20:31:38 回复(0)
卡特兰数,C(n,2n)/n+1
发表于 2019-08-21 23:55:32 回复(0)
三个数就比较好判断  前面说的都对。
我这里提一下不同的想法
三个数(假设大小不一样)
进栈顺序是 1 2 3
则出栈的顺序其实 最多全排列  也就是六种
唯一不可能的情况就是 3这个最后进栈的数出栈了 而之后出栈的是1 这种情况
也就是312   3这个最后进栈的数都出栈了 则前面的2必然已经入栈了 而1又比2早入栈
所以 1跟2的顺序 一定是2 1  
当后面出栈顺序中出现后进栈的那个数 则该比该数更早入栈的数 且排在出栈在该数后面的 
必须要按顺序 后进先出 不能颠倒 否则就错了
可以用来在选择题的时候快速判断
发表于 2019-08-20 23:49:24 回复(0)
选b
发表于 2019-08-20 23:43:04 回复(0)
B,共有五种
假如进栈顺序为1 2 3
则出栈顺序可为 123,132213231321
发表于 2019-08-20 16:05:27 回复(0)