这个数据结构栈的程序看不懂,怎么得到答案的,谢谢啦!

如题所述

Push(S,x);         // 'c'进入堆栈       | c
Push(S,'a');       // 'a'进入堆栈,      | ca
Push(S,y);         // 'k'进入堆栈,      | cak
Pop(S,x);          // 'k'退出堆栈,x='k' | ca
Push(S,'t');       // 't'进入堆栈,      | cat
Push(S,x);         // 'k'进入堆栈       | catk
Pop(S,x);          // 'k'退出堆栈,x='k' | cat
Push(S,'s');       // 't'进入堆栈,      | cats  
// 后面循环弹出输出,则堆栈里的数据依次倒序输出,则将输出 stac
// 最后的printf(x) 将输出x的值,也就是'k'

 所以答案是 stack

追问

x=c,为啥第四步pop x,x=k了呀,谢谢

追答

从堆栈里弹出来了栈顶的'k'啊,弹出来弹给了x

追问

谢谢!

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答