已知栈S初始为空,对于一个符号序列 a1a2a3a4a5(入栈次序也是该次序),

题库2022-08-02  50

问题 已知栈S初始为空,对于一个符号序列 a1a2a3a4a5(入栈次序也是该次序),当用 I 表示入栈、O 表示出栈,则通过栈 S 得到符号序列 a2 a4 a 5a3 a1 的操作序列为(  )。A.I O I I O O I O O IB.I I O I O I O I O OC.I O O I I O I O I OD.I I O I I O I O O O

选项 A.I O I I O O I O O I
B.I I O I O I O I O O
C.I O O I I O I O I O
D.I I O I I O I O O O

答案 D

解析 本题考查数据结构中栈的基本概念。
对于选项A,操作序列I O I IOOIOOI对应a1入栈、a1出栈、a2入栈、a3入栈、a3出栈、a2出栈、a4入栈、a4出栈,接下来要在栈空时出栈,因此该操作序列中的第9个操作会导致出错。
对于选项B,操作序列I IOIOIOIOO对应a1入栈、a2入栈、a2出栈、a3入栈、a3出栈、a4入栈、a4出栈、a5入栈、a5出栈、a1出栈,即通过栈S得到符号序列a2 a3 a4 a5 a1。
对于选项C,操作序列IOOI IOIOIO对应”a1入栈、a1出栈、为空栈时出栈,因此该操作序列中的第3个操作会导致出错。
对于选项D,操作序列I IOI I OIOOO对应a1入栈、a2入栈、a2出栈、a3入栈、a4入栈、a4出栈、a5入栈、a5出栈、a3出栈、a1出栈,即通过栈S得到符号序列a2 a4 a5 a3 a1。
转载请注明原文地址:https://tihaiku.com/congyezige/2428574.html

最新回复(0)