#JC1053. 队列进阶
队列进阶
一、单项选择题(每题2分,共20分)
1、普通STL队列queue的数据存取规则是?() {{ select(1) }}
- 先进后出
- 先进先出
- 两端均可随意增删
- 按数值大小排序
2、STL队列中,用来获取队首元素的函数是?() {{ select(2) }}
q.back()q.pop()q.front()q.empty()
3、循环队列中,用来区分空队列和满队列的处理方案是?() {{ select(3) }}
- 增加一个全局计数器变量
- 数组预留一个空位不存储元素
- 增大数组为原来2倍
- 每次存入前清空数组
4、数组长度为n的循环队列,计算队列内部元素个数的公式是?() {{ select(4) }}
(n + rear‑front) % nrear - front(rear‑front) % nrear + front
5、循环队列判满的条件(数组大小n)?() {{ select(5) }}
front == rear(rear+1)%n == frontrear == nfront == n‑1
6、猴子选大王(约瑟夫环),报到数字m但不满足淘汰条件,猴子应当如何处理?() {{ select(6) }}
- 直接丢弃
- 队首取出,重新入队到队尾
- 直接输出编号
- 存入栈容器
7、双端队列deque,在队列**最左边(队首)**插入元素使用哪个函数?() {{ select(7) }}
push_back()push_front()pop_front()pop_back()
8、公交换乘题目,乘坐公交处理优惠券,首先要做的操作是?() {{ select(8) }}
- 直接使用最后生成的优惠券
- 把所有过期优惠券从队首剔除
- 将全部优惠券重新排序
- 直接累加公交票价
9、公交换乘,多张有效优惠券时,使用规则是?() {{ select(9) }}
- 优先消耗最晚获得的券
- 优先消耗最早获得的券
- 随便挑选一张券
- 同时消耗多张优惠券
10、公交换乘为什么不用STL的queue,改用数组模拟队列?() {{ select(10) }}
- 数组运行速度一定比queue慢
- 需要遍历队列内部元素,STL queue不方便遍历
- STL queue会自动删除过期数据
- 数组不需要判断边界
二、判断题(每题2分,共10分)
11、循环队列判空条件为 front == rear。()
{{ select(11) }}
- 正确
- 错误
12、STL中q.pop()可以取出并且返回队首的元素值。()
{{ select(12) }}
- 正确
- 错误
13、双端队列deque既可以队首增删,也可以队尾增删元素。() {{ select(13) }}
- 正确
- 错误
14、选领诵题目中,女生报到出局数字m直接立刻淘汰。() {{ select(14) }}
- 正确
- 错误
15、公交换乘,优惠券有效条件:公交开始时间 − 地铁获取优惠券时间 ≤45分钟,并且公交票价≤优惠券面值。() {{ select(15) }}
- 正确
- 错误