数据结构题:元素1,2,3,4依次进栈,写出所有可能的出栈序列

我做出来的答案是
1234 1243 1324 1342 1432 1423

2134 2143 2314 2341 2431 2413

3124 3142 3214 3241

4321
我在网上查阅了做出来的比我少,是不是有些出栈元素我做错了,如果有错请高手帮忙纠错,严重感谢,最好是把我错的详细地方指出,谢谢了。。

第1个回答  2011-09-28
1423 2413 3124 3142 出错了追问

错的原因是不是“先进后出”的原则上啊?

追答

栈就是先进后出,错的这几个按照规则是不可能出现的情况,你再想想看。

本回答被提问者和网友采纳
第2个回答  2011-09-28
离开卫

若让元素1,2,3,4,5依次进栈,则出栈的可能性有哪些?
queue 已知的入栈顺序 queue_size 栈 queue 的大小 递归使用参数:poped_queue 出栈顺序。poped_queue[i]=j 表示元素 queue[j] 第 i 个出栈。可以初始为 NULL。poped_queue_size poped_queue 栈的大小。必须初始为 0 。total 统计出栈顺序总数。可以初始为 NULL。或者初始为一个...

1,2,3,4依次进栈,出栈随时,写一算法求出所有可能出栈序列
if(b>0)\/*若栈外有元素,可以入栈*\/ inS(a,b);if(a>0)\/*若栈中有元素,可以出栈*\/ outS(a,b);} int outS(int a,int b)\/*出栈*\/ { a--;\/*出栈栈中元素-1*\/ if(a==0&&b==0)\/*若栈中元素和栈外元素都为0个*\/ { m++;\/*则此种情况的序列满足条件,种数+1*\/ retur...

已知入栈顺序为12345,求所有可能的出栈序列
序列个数太多,以123为例:123进栈,出栈321;1进栈,1出栈,2进栈,2出栈,3进栈,3出栈,所以是123,以此类推。4个元素的全排列共有24种,栈要求符合后进先出,按此衡量排除后即得:1234√ 1243√ 1324√ 1342√ 1423× 1432√ 2134√ 2143√ 2314√ 2341√ 2...

有四个整数:1、2、3、4;依次进栈,并以各种次序出栈的问题
4:“1”进栈,“2”进栈,然后“2”出栈,“3”进栈,则当前栈内有“2”、“3”两个元素,并且“3”在栈顶,再全部出栈,则出栈顺序是:2-3-1 5:“1”进栈,“2”进栈,“3”进栈,这时栈里有3个元素,从顶至底分别是“3”、“2”、“1”,然后按顺序全部出栈,则出栈顺序是3-...

设有四个元素1、2、3、4依次进入一个栈中,则可能得到(1)种出栈序列,不...
1423也是不可能的 2413也是不可能的 SO B是对的(2)C.3412 3 4进出栈,则1 2在栈中,1不可能在2之前出栈 3)队列的特点,先进先出所以,出列序列只有一种 你需要知道,什么事入栈出栈,比如1234,依次进入,再依次出来就得到4321 再比如12入栈,然后出栈得到21,再把34入栈,再出栈得到43....

如果进栈序列为1、2、3、4,则可能的出栈序列是()
答案为B:2,4,3,1,步骤如下:① 1进栈,此时栈里元素为1 ② 2进栈,此时栈里元素为2,1 ③ 2出栈,此时出栈为2,此时栈里元素为1 ④ 3进栈,此时栈里元素为3,1 ⑤ 4进栈,此时栈里元素为4,3,1 ⑥ 4出栈,此时出栈为2,4,此时栈里元素为3,1 ⑦ 3出栈,此时出栈为2,4,3,...

设将数字1,2,3,4依次进栈,出栈可任意,最后都出栈,则出栈序列不可能的个...
不是很理解你题目的意思,如果你要算所有出栈可能的序列综合,可以搜索下出栈序列 catalan数这两个关键词就知道了:4个全出栈的序列数:1\/(n+1)*c(2n,n) = 8*7*6*5\/(5*4*3*2*1)=14

若一序列进栈顺序为a1,a2,a3,a4,问存在多少种可能的出栈序列占
出栈指一种计算机术语,与其相对应的是进栈;进栈、出栈多是按照一定顺序的。栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素...

...假设进栈和出栈可以穿插进行,则可能的出栈序列是( )
D,A,第一个为2第二个为4,可以确定栈中是3,1所以应该是2431 B,第一个为3,则栈中2,1。第二个可能是24,但肯定不是1 C,第一个为3,第二个为4,则栈中是2,1,所以应该是3421 D,进一个出一个。

若一序列进栈顺序为a1,a2,a3,a4 多少种可能的出战序列
就一定要满足n是第二个压栈也是第二个出栈,其他数字全排列,答案是(n-1)1、如果是以1、2、3、4等顺序依次压栈再出栈,那么答案是0、否则要实现a2=n,栈的操作顺序是先进后出;2

相似回答