#1986. L3-06 阶段复习与测评
L3-06 阶段复习与测评
一、单选题 12题
第 1 题
以下关于栈和队列的代码,执⾏后输出是( )。
{{ select(1) }}
- 1 3
- 3 1
- 3 3
- 1 1
第 2 题
在一个循环队列中,front是指向队头的指针,rear指向队尾的指针,队列最大容量为maxSize 。判断队列已满的条件是( )。
{{ select(2) }}
- rear == front
- (rear + 1) % maxSize == front
- (rear - 1 + maxSize) % maxSize == front
- (rear - 1) == front
第 3 题
以下代码实现了循环队列的哪种操作?( )
{{ select(3) }}
- ⼊队
- 出队
- 查看队⾸元素
- 判断队列是否为空
第 4 题
阅读以下代码,下⾯哪⼀项是正确的?( )
{{ select(4) }}
- 栈 s 的输出顺序是 1 2 3 4 5 ,队列 q 的输出顺序是 5 4 3 2 1 。
- 栈 s 的输出顺序是 5 4 3 2 1 ,队列 q 的输出顺序是 1 2 3 4 5 。
- 栈 s 的输出顺序是 1 2 3 4 5 ,队列 q 的输出顺序是 1 2 3 4 5 。
- 栈 s 的输出顺序是 1 2 3 4 5 ,队列 q 的输出顺序是 1 2 3 4 5 ,程序不会正常执行。
第 5 题
对于入栈序列为a、b、c、d、e、f、g的序列,下列( )不是合法的出栈序列。
{{ select(5) }}
- a、b、c、d、e、f、g
- a、d、c、b、e、g、f
- a、d、b、c、g、f、e
- g、f、e、d、c、b、a
第 6 题
有6个元素,按照 6,5,4,3,2,1 的顺序进⼊栈S,下列的出栈序列是不能出现的( )
{{ select(6) }}
- 5,4,3,6,1,2
- 4,5,3,1,2,6
- 3,4,6,5,2,1
- 2,3,4,1,5,6
第 7 题
采⽤如下代码实现检查输⼊的字符串括号是否匹配,横线上应填⼊的代码为( )
{{ select(7) }}
- top = st.top(); st.pop();
- st.pop(); top = st.top();
- st.pop(); top = st.front();
- top = st.front(); st.pop();
第 8 题
下⾯代码判断队列的第⼀个元素是否等于,并删除该元素,横向上应填写( )。
{{ select(8) }}
- is_equal = (q.front() == a);
- is_equal = (q.front() == a); q.pop();
- q.pop(); is_equal = (q.front() == a);
- q.pop(); is_equal = (q.top() == a);
第 9 题
在栈数据结构中,元素的添加和删除是按照什么原则进⾏的?() {{ select(9) }}
- 先进先出
- 先进后出
- 最⼩值先出
- 随机顺序
第 10 题
要实现将⼀个输⼊的⼗进制正整数转化为⼆进制表⽰,下⾯横线上应填⼊的代码为( )。
{{ select(10) }}
- cout << bin.top(); bin.pop();
- bin.pop(); cout << bin.top();
- cout << bin.back(); bin.pop();
- cout << bin.front(); bin.pop();
第 11 题
在队列中,元素的添加和删除是按照( )原则进⾏的。
{{ select(11) }}
- 先进先出
- 先进后出
- 最⼩值先出
- 随机进出
第 12 题
给定⼀个空栈,执⾏以下操作序列: 操作序列: push(1), push(2), push(3), pop(), pop(), push(4), push(5), pop() 最终栈中的元素是( )。
{{ select(12) }}
- 1, 2
- 1, 4, 5
- 1, 2, 5
- 1, 4
二、判断题 2 题
第 1 题
为了实现⼀个队列,使其出队操作( pop )的时间复杂度为O(1) 并且避免数组删除⾸元素的O(n) 问题,⼀ 种常见且有效的⽅法是使⽤环形数组,通过调整队⾸和队尾指针来实现。
{{ select(13) }}
- T
- F
第 2 题
栈的基本操作包括⼊栈(push)和出栈(pop)。
{{ select(14) }}
- T
- F
第 15 题
波兰表达式的求值不需要考虑运算符的优先级和括号。( )
{{ select(15) }}
- T
- F
第 16 题
对于波兰表达式 “* + 3 4 - 10 5”,其对应的中缀表达式为 “(3+4)*(10-5)”。( )
{{ select(16) }}
- T
- F