首页 > 试题广场 >

已知栈s允许在两端出栈,但只允许在一端入栈;队列Q只允许在一

[单选题]
已知栈s允许在两端出栈,但只允许在一端入栈;队列Q只允许在一 端入队列,在另一端出队列。设栈s和队列Q的初始状态为空, e1,e2,e3, e4,e5,e6 依次通过栈S,一个元素出栈后即进队列Q,则不可能得到的出队列的顺序是( )
  • e2,e4,e3,e5,e1,e6
  • e2,e5,e1,e3,e4,e6
  • e5,e1,e6,e3,e2,e4
  • e4,e1,e3,e5,e2,e6
推荐
选C
以下假设栈的内容为e1,e2,e3时,e1为栈底,e3为栈顶。
出队序列和入队序列相同,所以只求入队序列就可以了。

选项A:e2,e4,e3,e5,e1,e6
1、入栈e1,e2,出栈e2,然后e2入队列Q,此时栈S内容为e1
2、入栈e3,e4,分别出栈e4,e3,然后e4,e3依次入队列Q,此时栈内容为e1
3、入栈e5,分别出栈e5,e1,然后e5,e1依次入队列Q,此时栈内容为空
4、入栈e6,出栈e6,然后e6入队列Q,此时栈内容为空

选项B:e2,e5,el,e3,e4,e6
1、入栈e1,e2,出栈e2,然后e2入队列Q,此时栈S内容为e1
2、入栈e3,e4,e5,分别出栈e5,e1,e3,e4,然后e5,e1,e3,e4依次入队列Q,此时队列为空
3、入栈e6,出栈e6,然后e6入队列Q,此时栈内容为空

选项C:e5,e1,e6,e3,e2,e4
1、入栈e1,e2,e3,e4,e5,分别出栈e5,e1,然后e5,e1入队列Q,此时栈S内容为e2,e3,e4
2、入栈e6,出栈e6,然后e6入队列Q,此时栈内容为e2,e3,e4
3、栈内容为e2,e3,e4,此时想让e3出栈是不可能的,所以C不对

选项D:e4,el,e3,e5,e2,e6
1、入栈e1,e2,e3,e4,分别出栈e4,e1,e3,然后e4,e1,e3依次入队列Q,此时栈内容为e2
2、入栈e5,分别出栈e5,e2,然后e5,e2依次入队列Q,此时栈内容为空
3、入栈e6,出栈e6,然后e6入队列Q,此时栈内容为空

选项一个个的套就可以了,遵守题目规定的入栈出栈、入队出队顺序即可,想让谁入队,就得先让他出栈,他要想出栈,一定要在栈的两端
编辑于 2019-11-22 14:06:52 回复(2)
c
发表于 2022-05-19 20:34:02 回复(0)
C。根据队列的性质,出队队列的顺序等于入队队列,也就递推等于出栈顺序
所以给题目直接可以转为求出栈顺序不可能的选项。
题目给出的入栈:e1,e2,e3, e4,e5,e6,以及栈的一端入栈,两端出栈。
  • A选项:e2,e4,e3,e5,e1,e6  操作步骤:e1、e2入栈,e2出栈,e3、e4入栈,e4出栈e3出栈,e5入栈,e5出栈e1出栈,e6入栈,e6出栈
  • B选项:e2,e5,e1,e3,e4,e6  操作步骤:e1、e2入栈,e2出栈,e3、e4、e5入栈,e5出栈e1出栈e3出栈,e4出栈,e6入栈,e6出栈
  • C选项:e5,e1,e6,e3,e2 ,e4  操作步骤:e1、e2、e3、e4、e5入栈,e5出栈e1出栈,e6入栈,e6出栈,e3无法出栈(因为下面出口还有e2,上面出口还有e4)------所以C错误
  • D选项:e4,e1,e3,e5,e2,e6   操作步骤:e1、e2、e3、e4入栈,e4出栈e1出栈e3出栈,e5入栈,e5出栈e2出栈,e6入栈,e6出栈
发表于 2019-11-21 20:37:05 回复(1)

注意是:栈s允许在两端出栈

发表于 2021-01-19 18:00:26 回复(1)
注意是:栈s允许在两端出栈,而队列是普通的队列,所以本题中队列存不存在不影响。所以只考虑这个特殊栈来求解答案。
发表于 2022-01-08 17:54:46 回复(0)
选项C:e5,e1,e6,e3,e2,e4
1.队列Q:一端进,另一端出,也就是先进先出,进队列的顺序跟出队列顺序一样;
2.主要考虑出栈的顺序即可。
3.栈S:一端进,两端都可以出栈。已知el,e2,e3, e4,e5,e6依次通过栈S,针对于C选项来说:
  • e5先出,代表着e1,e2,e3,e4都一次在栈S的一端依次排列,e1,e2,e3,e4不出栈,则这一端堵塞,只能从另一端出,e5出栈后,栈中剩e1,e2,e3,e4,这时两端都可以出栈e1或者e4;
  • 此时,出栈的依次是e5,e1。栈S中e2,e3,e4.
  • e6入栈再出栈。此时,出栈的依次是e5,e1,e6,栈S中e2,e3,e4。
  • 此时,可以看出,下一个出栈的只能是e2或者e4。e3两边堵塞,出不去。
  • 由此,选项C是不可能出现的。

发表于 2019-11-21 16:59:29 回复(0)
8+7头像 8+7
队列先进先出,所以出队列顺序就是要知道入队列顺序,而题目中要求元素出栈后即进队列,所以,进入队列的顺序也就是出栈顺序,也就是说本题要求的是出栈顺序。c选项是不可能的出栈顺序。
发表于 2020-03-09 15:46:43 回复(0)
看到两端都可以出,一端入,画出两种形式的构造,横着画,一点点的推解
发表于 2022-04-01 19:22:00 回复(0)
坑!栈允许在两端出栈!
发表于 2021-12-13 20:31:04 回复(0)