[软考考点解析]软件设计师--栈的出栈队列

1. 题目

已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为1-2-3-4-5,则得出出栈序列2-4-5-3-1的合法操作序列为____。
A IIOIIOIOOO
B IOIOIOIOIO
C IOOIIOIOIO
D IIOOIOIOOO

2. 解析

牢牢把握栈是后进先出这一点就OK了,也就是说是头部的先出来。

所以看A的操作序列IIOIIOIOOO。我们来逐步分析:

第一步,I操作,此时栈内元素为空,待入栈元素为12345;所以执行入栈操作后,栈内元素为1,待入栈元素为2345。
第二步,I操作,执行后,站内元素为12,待入栈元素为345。
第三步,O操作,执行后,站内元素弹出剩下1,待入栈元素为3452(站内弹出的元素重新排队)。
第四步、第五步都是I操作,执行后,站内元素为134,待入栈52。
第六步,O操作,执行后,站内元素为13,待入栈524。
第七步,I操作,执行后,站内元素135,待入栈24。
第8-10步,O操作,执行后,站内元素无,待入栈24531,其实也就是出栈序列。所以答案即为A。

其他B、C、D依次分析即可。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页