选择题 62.  已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈S得到出栈序列a2a4a5a3a1的合法操作序列为______。
【正确答案】 A
【答案解析】 本题考查数据结构基础知识。
   IIOIIOIOOO表示的操作是a1入栈、a2入栈、栈顶元素出栈(即a2出栈)、a3入栈、a4入栈、栈顶元素出栈(即a4出栈)、a5入栈、栈顶元素出栈(即a5出栈)、栈顶元素出栈(即a3出栈)、栈项元素出栈(即a1出栈),按照出栈顺序得到的序列是a2a4a5a3a1
   IOIOIOIOIO表示的操作是a1入栈、栈顶元素出栈(即a1出栈)、a2入栈、栈顶元素出栈(即a2出栈)、a3入栈、栈顶元素出栈(即a3出栈)、a4入栈、栈顶元素出栈(即a4出栈)、a5入栈、栈顶元素出栈(即a5出栈),按照出栈顺序得到的序列是a1a2a3a4a5
   IOOIIOIOIO表示的操作是a1入栈、栈顶元素出栈(即a1出栈)、栈顶元素出栈,此时需要从空栈中弹出元素,所以是非法操作。
   IIOOIOIOOO表示的操作是a1入栈、a2入栈、栈顶元素出栈(即a2出栈)、栈顶元素出栈(即a1出栈)、a3入栈、栈顶元素出栈(即a3出栈)、a4入栈、栈顶元素出栈(即a4出栈)、栈顶元素出栈,此时需要从空栈中弹出元素,所以是非法操作。