一道简单与栈有关的 c语言习题,希望解释哈原因,我是初学者。在线等……

1.若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是()A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1... 1.若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是( )
A.1,4,3,2 B.2,3,4,1 C.3,1,4,2 D.3,4,2,1
展开
 我来答
宽容但不懦弱
2012-06-26 · TA获得超过108个赞
知道答主
回答量:79
采纳率:0%
帮助的人:38.1万
展开全部
首先你要明白栈的特性:就是先进后出,我们来分析选项:
A,先进1再出1,然后进2,3,4,再出4,3,2,所以出栈的顺序为1,4,3,2
B,先进1,2,出2,进3出3,进4出4,最后出1,所以出栈顺序为2,3,4,1
D,先进1,2,3,出3,进4,出4,再出2,1,所以出栈顺序为3,4,2,1
不可能的是C。
如果第一个出来的是3,那么首先要把3放进去,按进栈顺序,则先放1,2,3,然后出3,此时,选项里给的第二个出栈的元素是1,但是我们知道1比2先入栈的,2没有出栈之前,1是不可能出栈的
所以选C。
百度网友be74a75
2012-06-26 · TA获得超过192个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:82.1万
展开全部
C
栈有先进后出的特点。
A:1 进栈,出栈;2,3,4进栈,出栈;结果:1,4,3,2;
B:1,2进栈,2出栈;3进栈,3出栈;4进栈,4出栈;1出栈;结果:2,3,4,1
D:1,2,3进栈,3出栈;4进栈,4出栈;2出栈,1出栈;结果:3,4,2,1;
C错!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhuliming_it
2012-06-26 · 贡献了超过125个回答
知道答主
回答量:125
采纳率:0%
帮助的人:33.5万
展开全部
答案:C
解析:栈是一种后进先出表,选项C中,先出栈的是3,说明此时栈内必然有1、2,由于1先于2进栈,所以它不可能在2之前出栈,故选项C这种出栈序列是不可能的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式