1. 一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )。 A. 2 3 4 1 5 B. 5 4 1 3

 我来答
百度网友28b4182
推荐于2017-11-24 · TA获得超过7221个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:1800万
展开全部
可以根据答案来判定的,像A的话,顺序是2 3 4 1 5 那么当2进来的时候应该马上出去,如果不这样做的话,2肯定不是第一个出去的,依此类推
进1进2出2进3出3进4出4出1进5出5,这样,第一个答案应该是可行的
然后看第二个
进1进2进3进4进5出5出4出1出3出2这里已经不行了
这题我以前写过程序的
#include<stdio.h>
int stack[1000000],top=0;
int main()
{
int i,j,n,trian;
//输入格式
//5
//2 3 4 1 5
//5 4 1 3 2
while(scanf("%d",&n)!=EOF&&n)
{
while(scanf("%d",&trian)!=EOF&&trian)
{
top=0;
for(j=1;j<=n&&j!=trian;j++)
{
stack[top]=j;
top++;
}
for(i=1;i<n;i++)
{
scanf("%d",&trian);
if(top>0)
if(stack[top-1]==trian)
{
top--;
continue;
}
for(j++;j<=n&&j!=trian;j++)
{
stack[top]=j;
top++;
}
}
if(top==0)
printf("Yes\n");
else
printf("No\n");
}
printf("\n");
}
return 0;
}
百度网友158e0db
2011-12-27 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:105万
展开全部
后进先出
A是可能的,输入1,输入2,输出2,输入3,输出3,输入4,输出4,输出1,输入5,输出5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangyangfei77
2019-10-07
知道答主
回答量:3
采纳率:0%
帮助的人:1975
展开全部
B. 5 4 1 3 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
继承知道446
2011-12-27 · TA获得超过350个赞
知道答主
回答量:171
采纳率:85%
帮助的人:42.3万
展开全部
B。谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式