双端队列是指在队列的两个端口都可以加入和删除元素,如下图所示

现在要求元素进队列和出队列必须在同一端口,即从A端进队的元素必须从A端出、从B端进队的元素必须从B端出,则对于4个元素的序列a、b、c、d,若要求前2个元素(a、b)从A端口按次序全部进入队列,后两个元素(c、d)从B端口按次序全部进入队列,则不可能得到的出队序列是()

5a46a0f879743a459ed4b87d4831b2d2.png

A.d、a、b、c

B.d、c、b、a

C.b、a、d、c

D.b、d、c、a


请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:数据结构-线性结构-栈和队列

位于312章节。

栈通常和队列放在一起说,因为他们有比较紧密的相同点和不同点。相同点是他们都是线性结构,逻辑结构和线性表相同。不同点是一个先进后出,一个先进先出。

本题的队列和书上面介绍的队列不同,本题的双端队列没有了先进先出的限制。a和b按次序从A端进入,因为进入队列之后,次序就固定了,所以,当数据全部进入队列后,在整个队列中,从左到右的顺序是b、a、c、d。然后因为b和a只能从A出去(题干中要求的“同一端口”),所以出去的顺序b一定在a前面,因为它排在a的前面。所以选A选项。另外一端同理。


请先 登录 后评论
  • 1 关注
  • 0 收藏,885 浏览
  • 亚里士德 提出于 2021-08-24 22:33

相似问题