
c++ 出栈入栈
voidmain(){StackS;charx,y;InitStack(S);//初始化栈x="c";y="k";Push(S,x);Push(S,"a");Push(S...
void main()
{ Stack S;
char x,y;
InitStack(S); // 初始化栈
x= "c ";
y= "k ";
Push(S,x); Push(S, "a ");
Push(S,y); Pop(S,x);
Push(S, "t "); Push(S,x);
Pop(S,x); Push(S, "s ");
While (!SEmpty(S))
{ Pop(S,y);cout<<y; };
cout<<x;
}
答案是stack,请告诉我过程
s
c出栈
t
k出栈
a
c
所以While (!SEmpty(S))
{ Pop(S,y);cout<<y; };
输出应该是stac,加上cout<<x;,
所以我觉得是stacc啊。为什么答案是stack? 展开
{ Stack S;
char x,y;
InitStack(S); // 初始化栈
x= "c ";
y= "k ";
Push(S,x); Push(S, "a ");
Push(S,y); Pop(S,x);
Push(S, "t "); Push(S,x);
Pop(S,x); Push(S, "s ");
While (!SEmpty(S))
{ Pop(S,y);cout<<y; };
cout<<x;
}
答案是stack,请告诉我过程
s
c出栈
t
k出栈
a
c
所以While (!SEmpty(S))
{ Pop(S,y);cout<<y; };
输出应该是stac,加上cout<<x;,
所以我觉得是stacc啊。为什么答案是stack? 展开
1个回答
展开全部
void main()
{ Stack S;
char x,y;
InitStack(S); // 初始化栈
x= "c ";
y= "k ";
Push(S,x); Push(S, "a ");Push(S,y); //此时堆栈里是c,a,k
Pop(S,x); //此时堆栈里是c,a,因为pop到x里了,所以x='k'
Push(S, "t "); Push(S,x);//堆栈为c,a,t,k
Pop(S,x); //堆栈为c,a,t,又把k给pop到x里了,所以x='k'
Push(S, "s ");//堆栈为c,a,t,s
While (!SEmpty(S)){ Pop(S,y);cout<<y; };
//这个while就是把堆栈里的内容按出栈顺序显示,
//输出了 "stac"
cout<<x;
//最后把x输出,所以输出个"k"
}
{ Stack S;
char x,y;
InitStack(S); // 初始化栈
x= "c ";
y= "k ";
Push(S,x); Push(S, "a ");Push(S,y); //此时堆栈里是c,a,k
Pop(S,x); //此时堆栈里是c,a,因为pop到x里了,所以x='k'
Push(S, "t "); Push(S,x);//堆栈为c,a,t,k
Pop(S,x); //堆栈为c,a,t,又把k给pop到x里了,所以x='k'
Push(S, "s ");//堆栈为c,a,t,s
While (!SEmpty(S)){ Pop(S,y);cout<<y; };
//这个while就是把堆栈里的内容按出栈顺序显示,
//输出了 "stac"
cout<<x;
//最后把x输出,所以输出个"k"
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |