有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?( )。

答案是346512栈是先进后出吧我不明白是怎么会是这个答案我们考试题上的标准答案正确的我就更不明白了没有一个正确答案是123456我觉得123456应该是正确的吧请教了我... 答案是346512 栈是先进后出吧 我不明白是怎么会是这个答案 我们考试题上的标准答案 正确的我就更不明白了 没有一个正确答案是123456 我觉得123456应该是正确的吧 请教了 我就因为这个题差3分得奖学金 不甘心 展开
 我来答
创作者fjTv3QqzTZ
2019-07-21 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.5万
采纳率:33%
帮助的人:971万
展开全部
C不是合法的。
选项:
A.5
4
3
6
1
2
B.4
5
3
1
2
6
C.3
4
6
5
2
1
D.2
3
4
1
5
6
解析:
此题考查堆栈“后进先出”的特点。对选项A来说,第一个出栈元素是5,因为6先于5进栈,所以必定在5之后出栈,其余的元素出栈顺序任意;
对选项B来说,第一个出栈元素是4,所以5和6两个元素必定在4之后依次出栈;对选项C来说,第一个出栈元素是3,则必有4、5、6三个元素依次在3后面出栈,但是选项C中的顺序是3、4、6、5,这是不符合要求的;
对选项D来说,第一个出栈元素是2,则必有3、4、5、6依次在2后面出栈,D也是符合要求的,因此答案选C。
总结:这种问题如何解决呢我们看第一个出栈元素,然后确定先于第一个元素进栈的所有其他元素,这些元素一定在第一个出栈元素之后顺序出栈。如果第一个元素仍然无法判断出来,可继续看后面的元素,依次类推。
举例如下:
假设第一个出栈的元素是1,则出栈顺序一定是6、5、4、3、2、1,没有其他情况。
假设第一个出栈的元素是2,则出栈顺序可能有:
213456;231456;234156;
234516;
234561
(可首先把23456写出,然后可将1插到2之后的任意位置)
假设第一个出栈的元素是3,则出栈顺序可能有:
3
12
456;34
12
56;
345
12
6;
3456
12
但是314526是不能的。
因为3出栈之后,当前栈中仍有4、5、6三个元素,如果下一个是1出栈,则肯定先让2进栈,再让1进栈,然后1出栈,此时栈顶就变成2了,则下一个出栈的只能是2,而不能是4。
感性的jerry0
2017-12-28
知道答主
回答量:4
采纳率:0%
帮助的人:3677
展开全部
他是以从大到小的随机顺序入栈,虽然顺序不可控,但是从大到小所以5肯定在6后面入栈,遵循后进先出原则,所以5不可能在6之后出栈,所以一眼看出c是不合法的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
15993750726
2009-02-26
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
栈是先进后出的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式