分类题库
C++编程题库
按题型、年份与知识点筛选,快速定位练习题。
题目列表
共 651 题
A67918
有一个存储了 个整数的线性表,分别用数组和单链表两种方式实现。在已知下标(或结点指针)的前提下,数组的随机访问是 , 而在链表中已知某结点的指针时,在该结点之后插入一个新结点的操作也是O(1)。
2026年
判断
A67917
若数组 a 已按升序排列,则下面代码可以正确实现 “在 a 中查找第一个大于等于 x 的元素的位置”。1 int lowerBound(vector<int>& a,int x){
2026年
判断
A67916
快速排序只要每次都选取中间元素作为枢轴,就一定是稳定排序
2026年
判断
A67915
若某算法满足递推式:T(n) =2T(n/2)+O(n) ,则其时间复杂度为O(nlogn) 。
2026年
判断
A67914
在一个数组中,如果两个元素 a[i] 和 a[j] 满足 i < j 且 a[i] > a[j] ,则 a[i] 和 a[j] 是一个逆序对。 下面代码可以正确统计数组 a 区间 [l,r] 内的逆序对总数。1 long long cnt=0;
2026年
判断
A67913
唯一分解定理保证:若一个数未被任何不超过其平方根的质数筛去,则它一定是质数
2026年
判断
A67912
假设数组 的值域范围是D,以下程序的时间复杂度是O(nlogn+nlogD)。1 bool check(int n, int a[], int k, int dist) {
2026年
判断
A67911
若一个问题满足最优子结构性质,则一定可以用贪心算法得到最优解。
2026年
判断
A67910
线性筛相比埃氏筛的核心改进在于:埃氏筛中一个合数可能被多个质数重复标记,线性筛通过"每个合数只被其最大质因子筛去"的策略,保证每个合数恰好被标记一次,从而实现O(n)的时间复杂度
2026年
判断
A67898
下面定义了一个表示二维坐标点的类 Point , 并提供了一个带参数的构造函数,但第 ② 行 Point b; 会调用编译器自动生成的默认构造函数,将 b.x 和 b.y 被初始化为 0.0,程序可以正常编译运行。1 class Point {
2026年
判断
A67897
C++ 中的继承支持单继承和多继承,但子类无法直接访问父类的私有成员。
2026年
判断
A67896
对如下结构的树,执行 travel 函数,输出结果是 1 2 3 4 5 。1 struct Node {
2026年
判断
A67895
若所有字符出现频率相同,则哈夫曼编码一定会得到完全二叉树。
2026年
判断
A67894
哈夫曼编码是一种变长的前缀编码,在解码时不需要额外的分隔符就能唯一还原,这是因为在哈夫曼树中,任何一个字符的叶子结点都不会成为另一个字符结点的祖先。
2026年
判断
A67893
在 C++ 中使用一维数组 vector<int> tree 存储按层序遍历的完全二叉树时,若根节点存储在 tree[0] ,则对于任意非空节点tree[i] ,其右孩子(如果存在)必然位于 tree[2 * i + 2] 。
2026年
判断
A67892
在 C++ 中使用栈来非递归地实现二叉树的前序遍历时,为了保证遍历顺序正确,在处理完当前结点后,应该先将该结点的左孩子压入栈中,然后再将右孩子压入栈中。
2026年
判断
A67891
设二叉树共有n个结点,函数 preorderTraversal 以下代码的时间复杂度为O(n),空间复杂度为O(n)。1 struct TreeNode {
2026年
判断
A67890
下列代码实现了一个0-1背包的一维动态规划代码,内层循环是经典的逆序写法。若将内层循环改成正序遍历(即 for (int j = w[i]; j <= W; j++) ),仍能得到正确答案。1 int main() {
2026年
判断
A67889
在动态规划问题中,状态空间相同且没有重复计算的情况下,“状态转移方程+递推”与“递归+记忆化搜索”的时间复杂度通常相同。
2026年
判断
A67878
C++ 语言中,表达式 4 ^ 2 的结果类型为 int ,值为 6 。
2026年
判断