若初始栈为空且进栈序列为{1,2,3,4,5},则可能的出栈序列为( )。
问题1选项
A.{2,4,1,3,5}
B.{1,2,5,4,3}
C.{3,1,2,5,4}
D.{1,4,2,3,5}
本题考查数据结构基础知识。
对于选项A,以2和4作为出栈序列的前两个元素时,元素1和3在栈中且1在栈底3在栈顶,若此时5还未进栈,那么4之后出栈的元素只能是3,因此{2,4,1,3,5}不是合法的出栈序列。
对于选项B,通过安排合法的操作序列Push (入栈)、Push、Pop(出栈)、Pop、Push、Push、Push、Pop、Pop、Pop可以得到出栈序列{1,2,5,4,3}。
对于选项C,3最先出栈时,1和2尚在栈中且2在栈顶,若此时4还未进栈,则3之后出栈的元素只能是2,因此{3,1,2,5,4}不是合法的出栈序列。
对于选项D,以1和4作为出栈序列的前两个元素时,元素2和3在栈中且2在栈底3在栈顶,若此时5还未进栈,那么4之后出栈的元素只能是3,因此{1,4,2,3,5}不是合法的出栈序列。
综合分析,本题选B。