己知栈S初始为空,对于一个符号序列a1a2a3a4a5(入栈次序也是该次序),当用I表示入栈、O表示出栈,则通过栈S得到符号序列a2a4a5a3a1的操作序列为(13)。

admin2016-03-25  40

问题 己知栈S初始为空,对于一个符号序列a1a2a3a4a5(入栈次序也是该次序),当用I表示入栈、O表示出栈,则通过栈S得到符号序列a2a4a5a3a1的操作序列为(13)。

选项 A、IOIIOOIOOI
B、IIOIOIOIOO
C、IOOIIOIOIO
D、IIOIIOIOOO

答案D

解析 本题考查数据结构中栈的基本概念。
对于选项A,操作序列IOIIOOIOOI对应a1入栈、a1出栈、a2入栈、a3入栈、a3出栈、a2出栈、a4入栈、a4出栈,此时为空栈时出栈,因此该操作序列中的第9个操作会导致出错。
对于选项B,操作序列IIOIOIOIOO对应a1入栈、a2入栈、a2出栈、a3入栈、a3出栈、a4入栈、a4出栈、a5入栈、a5出栈、a1出栈,即通过栈S得到符号序列a2a3a4a5a1
对于选项C,操作序列IOOIIOIOIO对应a1入栈、a1出栈、出栈(此时为空栈),因此该操作序列中的第3个操作会导致出错。
对于选项D,操作序列IIOIIOIOOO对应a1入栈、a2入栈、a2出栈、a3入栈、a4入栈、a4出栈、a5入栈、a5出栈、a3出栈、a1出栈,即通过栈S得到符号序列a2a4a5a3a1
转载请注明原文地址:https://jikaoti.com/ti/9QI7FFFM
0

最新回复(0)