第二节-02 栈程序阅读与应用
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
第二节-02 栈程序阅读与应用
CSP-J 第一轮专项训练。 本题全部为单项选择题,提交后自动判分。
1.
阅读程序:
stack<int> s;
for (int i = 1; i <= 4; ++i)
s.push(i);
s.pop();
cout << s.top();
输出为( )。
{{ select(1) }}
- A. 1
- B. 2
- C. 3
- D. 4
2.
阅读程序:
stack<int> s;
for (int i = 1; i <= 6; ++i)
if (i % 2 == 0) s.push(i);
cout << s.top();
输出为( )。
{{ select(2) }}
- A. 2
- B. 4
- C. 5
- D. 6
3.
检查括号序列是否合法时使用栈,最主要的原因是( )。
{{ select(3) }}
- A. 最早出现的左括号总要最先匹配
- B. 最后出现且尚未匹配的左括号要最先匹配
- C. 栈会自动识别括号类型
- D. 栈可以对括号排序
4.
下列括号序列中合法的是( )。
{{ select(4) }}
- A.
([)] - B.
(() - C.
{[()]} - D.
())(
5.
固定入栈顺序为 1、2、3,且每个元素只入栈一次,下列不可能的完整出栈顺序是( )。
{{ select(5) }}
- A. 3 2 1
- B. 2 3 1
- C. 2 1 3
- D. 3 1 2
6.
后缀表达式 5 2 + 3 * 的值是( )。
{{ select(6) }}
- A. 11
- B. 15
- C. 21
- D. 24
7.
阅读程序:
stack<int> s;
for (int i = 1; i <= 4; ++i) s.push(i);
int sum = 0;
while (!s.empty()) {
sum += s.top();
s.pop();
}
cout << sum;
输出为( )。
{{ select(7) }}
- A. 4
- B. 6
- C. 10
- D. 24
8.
若把字符串 CSPJ 的每个字符按从左到右顺序压栈,再依次全部弹出,则得到( )。
{{ select(8) }}
- A. CSPJ
- B. JSPC
- C. JCSP
- D. JPSC
9.
在通常的 STL 实现与算法复杂度分析中,stack 的 push、pop、top 单次操作可视为( )。
{{ select(9) }}
- A. O(1)
- B. O(log n)
- C. O(n)
- D. O(n²)
10.
递归函数的调用与返回过程,从“后调用的函数先返回”这一特点看,最接近的数据结构是( )。
{{ select(10) }}
- A. 队列
- B. 栈
- C. 哈希表
- D. 并查集
粤公网安备44195502000252号