单选题 已知输入序列是abcd,则经过输出受限的双端队列后能得到的输出序列是______。
  • A.dacb
  • B.cadb
  • C.dbca
  • D.dbac
【正确答案】 B
【答案解析】[解析] 设双端队列的两端为e1和e2,e2端允许输出,e1和e2两端都允许输入。若在e1端输入,相当于队列;若在e2端输入,相当于栈。
对于选项A(dacb),要求先输出d,必须abc都输入后再执行操作de2进de2出(相当于进栈出栈),但下一个要输出a,就必须执行操作ae1进be1进ce1进,队列中是cba,再执行ae2出,然而下一个不可能输出c,所以选项A是不可能的输出序列。
对于选项B(cadb),一种操作顺序是ae1进be1进ce2进ce2出ae2出de2进de2出be2出,是可能的输出序列。
对于选项C(dbca),相当于上一题中的A项(4231),是不可能的输出序列。
对于选项D(dbac),与选项A类似,要求先输出d,必须先输入abc后再执行操作de2进de2出;若要求下一个输出b,应执行操作ae1进be2进ce1进,队列中是cab,输出b后,下一个输出的不可能是c,选项D是不可能的输出序列。