设栈的输入序列是1,2,3,4,则不可能是其出栈序列,为什么答案是4,3,1,2?

 我来答
帐号已注销
2020-10-07 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:161万
展开全部

假设第一个是4出栈,那么就说明前面,进栈顺序只能是 1,2,3,那么出栈顺序使能是 4,3,2,1。

输出可以是1234,2134,1432,4321。

第一种:1进1出,2进2出,3进3出,4进4出;

第二种:1进,2进,2出,1出,3进3出,4进4出;

第三种:1进1出,2进3进4进,4出3出2出。

以此类推。

扩展资料:

1、进栈(PUSH)算法

①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);

②置TOP=TOP+1(栈指针加1,指向进栈地址);

③S(TOP)=X,结束(X为新进栈的元素);

2、退栈(POP)算法

①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②);

②X=S(TOP),(退栈后的元素赋给X):

③TOP=TOP-1,结束(栈指针减1,指向栈顶)。

参考资料来源:百度百科-栈

whbsxx1989
推荐于2017-11-24 · TA获得超过760个赞
知道小有建树答主
回答量:361
采纳率:100%
帮助的人:268万
展开全部
输出可以是1234,2134,1432。第一种:1进1出,2进2出,3进3出,4进4出;第二种:1进,2进,2出,1出,3进3出,4进4出;第三种:1进1出,2进3进4进,4出3出2出。根据这种方法,4312当然是不可能的,不懂追问我
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mrdone
2011-11-29 · TA获得超过1143个赞
知道小有建树答主
回答量:2346
采纳率:100%
帮助的人:528万
展开全部
先进后出。
4 3 1 2 是不可能的。
因为,如果4 3 可以出栈的话,说明前面已经把 1 2 已经放到栈里面了。
根据 先进后出的原则。 4 3 出栈没问题。
但是里面另外的 1 和 2 肯定是1 先入栈,所以应该是 2 先出 1 再出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明哥带你薅羊毛
2011-11-28 · TA获得超过227个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:107万
展开全部
如果栈是1个空间,则输出序列为:1234;如果栈空间是2,则输出序列为:2143;如果栈空间是3,则输出序列是:3214;如果栈的空间大于等于4,则输出序列为:4321。关键是要知道栈是“先进后出”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
球球久
2017-10-03 · TA获得超过2132个赞
知道大有可为答主
回答量:2896
采纳率:0%
帮助的人:624万
展开全部
所以(1)这个有点难,一定不是A D 答案在BC中,只要能找出7种以上的不可能,就可以确定是B
1234全排列共24种
4先出栈的 只有4321是合理的,其余都不可能,共有5种
3先出栈的 排列中,不可能有3124 和3412 ,3142 有3种
1423也是不可能的
2413也是不可能的
SO B是对的

(2)C.3412 3 4进出栈,则1 2在栈中,1不可能在2之前出栈

(3)队列的特点,先进先出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式