首页 > 试题广场 >

一个空栈,如果有顺序输入:a1,a2,a3...an(个数大

[单选题]
一个空栈,如果有顺序输入序列:a1,a2,a3...an(个数大于3),而且输出第一个元素为 a(n-1), 那么所有元素都出栈后,()
  • 输出的最后元素一定为 an
  • 输出的最后元素一定为 a1
  • 不能确定元素 a1 ~ (an-2) 的输出顺序
  • a(n-2) 一定比 a(n-3) 先出
既然an-1先出栈,说明 an-2, an-3已经入栈并且还未出栈,所以D肯定是对的
B的话an始终不进栈,a1~an-2都出栈了以后再进栈,这时候弹出的是an为最后一个
发表于 2019-03-12 21:17:21 回复(0)
这道题,我最开始理解错误:根据这道题的题意,大概应该这样来理解,a1~an必须是按顺序入栈的。但是他最后说第一个出栈的是an-1,由这里可以推测,a1-an-1都是顺序入栈了,至于an,他可以在a1~an-1任意一个元素出栈的过程入栈的,所以an输出的顺序不能确定,但是可以确定已经入栈的元素的,他们的出栈的先后顺序

发表于 2019-03-19 15:52:19 回复(2)
我刚开始选择了B:因为我觉得a1-an-2都已经顺序入栈了,a1就一定会最后出栈。
但我忘记了还有一个an,当a1出栈后an可以再进栈,那么最后一个出栈的将是an
发表于 2019-03-22 12:08:58 回复(0)
题目歧义太大
发表于 2019-08-21 23:07:11 回复(0)
问题的关键在于an什么时候进栈,哎没理解
发表于 2019-03-30 15:56:17 回复(0)
因为输出第一个为an-1,所以an尚未入栈,所以an出站顺序不能定,但是啊a1至an-1的顺序是定的,an-3,an-2,an-1此顺序入栈,所以an-2比an-3先出站
发表于 2021-09-04 09:43:06 回复(0)
有疑问,可以是an-3 先入栈后,出栈;an-2再入栈 这种情况么
发表于 2019-08-28 11:13:35 回复(0)