若元素a、b、c、d、e、f依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是( )。A.dcebtaB.cbdaefC.bcaetdD.afedcb
若元素a、b、c、d、e、f依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是( )。
A.dcebta
B.cbdaef
C.bcaetd
D.afedcb
B.cbdaef
C.bcaetd
D.afedcb
参考解析
解析:本题考查数据结构基础知识。
对于选项A的出栈序列dcebfa,其操作序列为:push(a入)、push(b入)、push(c入)、push(d入)、pop(d出)、pop(c出)、push(e入)、pop(e出)、pop(b出)、push(f入)、pop(f出)、pop(a出)。
对于选项B的出栈序列cbdaef,其操作序列为:push(a入)、push(b入)、push(c入)、pop(c出)、pop(b出)、push(d入)、pop(d出)、pop(a出)、push(e入)、pop(e出)、push(f入)、pop(f出)。
对于选项C的出栈序列bcaefd,其操作序列为:push(a入)、push(b入)、pop(b出)、push(c入)、pop(c出)、pop(a出)、push(d入)、push(e入)、pop(e出)、push(f入)、pop(f出)、pop(d出)。
对于选项D的出栈序列afedcb,其操作序列为:push(a入)、pop(a出)、push(b入)、push(c入)、push(d入)、push(e入)、push(f入)、pop(f出)、pop(e出)、pop(d出)、pop(c出)、pop(b出),存在连续5次的出栈操作,违背题中所述的运算要求。
对于选项A的出栈序列dcebfa,其操作序列为:push(a入)、push(b入)、push(c入)、push(d入)、pop(d出)、pop(c出)、push(e入)、pop(e出)、pop(b出)、push(f入)、pop(f出)、pop(a出)。
对于选项B的出栈序列cbdaef,其操作序列为:push(a入)、push(b入)、push(c入)、pop(c出)、pop(b出)、push(d入)、pop(d出)、pop(a出)、push(e入)、pop(e出)、push(f入)、pop(f出)。
对于选项C的出栈序列bcaefd,其操作序列为:push(a入)、push(b入)、pop(b出)、push(c入)、pop(c出)、pop(a出)、push(d入)、push(e入)、pop(e出)、push(f入)、pop(f出)、pop(d出)。
对于选项D的出栈序列afedcb,其操作序列为:push(a入)、pop(a出)、push(b入)、push(c入)、push(d入)、push(e入)、push(f入)、pop(f出)、pop(e出)、pop(d出)、pop(c出)、pop(b出),存在连续5次的出栈操作,违背题中所述的运算要求。
相关考题:
若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为(29)。A.321B.213C.231D.123
若pllsh、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为 ______。A.321B.213C.231D.123A.B.C.D.
若元素a、b、c、d、e、f 依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是( )。A. dcebfa B. cbdaef C. bcaefd D. afedcb
问答题若5个元素的进栈序列是a、b、c、d、e,利用堆栈操作能否得到出栈序列b、c、a、e、d和d、b、a、c、e?对于不能得到的出栈序列,请说明理由。