问题标题:
【noip的一道堆栈顺序题(没读懂题)这题很简单,可惜没读懂是怎么操作堆栈的,神啊我的语文水平.....设栈S的初始状态为空,现对序列{1,2,3,4,5}在栈S上,依次进行如下操作(从元素1开始,出栈后】
问题描述:
noip的一道堆栈顺序题(没读懂题)
这题很简单,可惜没读懂是怎么操作堆栈的,神啊我的语文水平.....
设栈S的初始状态为空,现对序列{1,2,3,4,5}在栈S上,依次进行如下操作(从元素1开始,出栈后不再进栈):进栈,出栈,进栈,进栈,出栈,出栈。试问出栈的元素序列是()。
A{1,2,3}B{1,3,2}C{3,2,1}D{2,3,1}
何亨回答:
就是你画一个栈,然后进行“进栈,出栈,进栈,进栈,出栈,出栈”操作。
过程如下:1.进栈:表示把1放进栈里面
2.出栈:栈顶元素1出栈,现在栈又变成空的了
3.进栈:2进栈,现在栈里有一个元素2
4.进栈:3进栈,现在有两个元素2和3,2在栈底,3在栈顶
5.出栈:栈顶元素3出栈,栈里面剩下一个元素2
6.出栈:最后一个元素2出栈
结束。然后看出栈的序列是:1,3,2,所以选B
查看更多