栈的入站为12345,经过入栈,入栈,出站,入站,出站,入栈,出站,入栈后,输出序列为?
一个栈的输入序列是12345,若在入栈的过程中允许出栈,则栈的.
不能吧,可以输出43521,后面的12貌似不可以反过来
已知入栈顺序为12345,求所有可能的出栈序列
序列个数太多,以123为例:123进栈,出栈321;1进栈,1出栈,2进栈,2出栈,3进栈,3出栈,所以是123,以此类推.4个元素的全排列共有24种,栈要求符合后进先出.
我想实现入栈的顺序为12345,出栈的顺序为54321,栈顶元素为5.
改好了,测试一下吧,改的好辛苦,呵呵#include#include#define OK 1#define . 让程序无所适从,编程者也迷糊//栈的初始化 void InitStack(void) { S=NULL; //你这里申请.
有一个栈,将12345依次入栈,那么出栈的顺序不可能是
这里没说全进栈再拿出来,进出交错,就C不可能存在.
入栈顺序是1234,出栈序列有哪几种
4个元素的全排列共有24种,栈要求符合后进先出,按此衡量排除后即得:1234√ 1243√ 1324√ 1342√ 1423* 1432√2134√ 2143√ 2314√ 2341√ 2413* 2431√3124* 3142* 3214√ 3241√ 3412* 3421√4123* 4132* 4213* 4231* 4312* 4321√14种可能,10种不可能,如上所示.
.设栈初始为空,输入序列为:a,b,c.经过入栈、出栈、入栈、入栈.
a,c,b.首先a入栈并出栈,所以序列第一个是a,然后b,c先后分别入栈,多个元素应满足后进先出原则,所以c在b之前.
一个栈的输出队列是12345下列不可能输出的是() A: 23415 B:54132 C:23.
栈是先进后出,所以知道一个输出队列是12345,那么也就知道了输入的元素间可能存在的顺序.那么来看选项A: 23415 是可以的,先入5432,然后弹出234,再入1,最后弹出15 (入库顺序为54321,可以使得一个可能的输出为12345)选项C,23145也是可疑的,先入5432,然后弹出23,再入1,然后弹出1,最后弹出45(入库顺序为54321,可以使得一个可能的输出为12345)选项D,15432也是可以的,先入1,弹出1,再入5,弹出5,再入4,弹出4,再入3,弹出3,再入2,弹出2(这时候入库顺序为15432,要输出12345,只需要先入1,然后弹出,再入5432,然后弹出2345即可排除法可知选项B不行.
入栈与出栈顺序
答案选3.因为 选项3中第一个出栈的是D,说明此时A,B,C都已经在栈中(C为栈顶),所以下一个出栈的可以是C,然后E进栈后随即出栈,所以到E这里都是对的.此时栈里面只有A,B,其中B为栈顶,所以下一个出栈的只能是B,不能是A
入栈出栈 求解释啊
栈的特点是先进后出,即:进去的早,出来的晚!54321进栈,5在栈底,1在栈顶!出一次栈,则栈顶的1先出来,2成为新的栈顶.ABCD入栈,D成为新的栈顶.全部出栈:D C B A 2 3 4 5 综上,所有元素退栈顺序为:1 D C B A 2 3 4 5
判断正误10. 一个栈的输入序列是12345,则栈的输出序列不可能.
( * )1. 链表的每个结点中都恰好包含一个指针. 答:错误.链表中的结点可含多个指. 错,后半句不对.( * )10. 一个栈的输入序列是12345,则栈的输出序列不可能是.