分类题库
C++编程题库
按题型、年份与知识点筛选,快速定位练习题。
题目列表
共 714 题
A67317
虽然插入排序的时间复杂度为 O(n2),但由于单元操作相对较少,因此在小数据量的排序任务中非常受欢迎。
2025年
判断
A67316
对整数数组 {4, 1, 3, 1, 5, 2} 进行冒泡排序(将最大元素放到最后),执行一轮之后是 {4, 1, 3, 1, 2, 5} 。
2025年
判断
A67315
以下C++代码只能捕获 int 类型异常。int main() {
2025年
判断
A67314
以下C++代码将 Hello 写入文件 data.txt 。ofstream file("data.txt");
2025年
判断
A67313
排兵布阵
2025年
编程题
A67312
最长连续段
2025年
编程题
A67311
以下哪种情况使用链表比数组更合适?
2025年
单选
A67310
函数 removeElements 删除单链表中所有结点值等于 val 的结点,并返回新的头结点,其中链表头结点为 head ,则横线处填写( )。// 结点结构体
2025年
单选
A67309
函数 hasCycle 采用Floyd快慢指针法判断一个单链表中是否存在环,链表的头节点为 head ,即用两个指针 在链表上前进: slow 每次走 1 步, fast 每次走 2 步,若存在环, fast 终会追上 slow (相遇);若无环, fast 会先到达 nullptr,则横线上应填写( )。struct Node {
2025年
单选
A67308
函数 isPerfectNumber 判断一个正整数是否为完全数(该数是否即等于它的真因子之和),则横线上应填写( )。一个正整数 n 的真因子包括所有小于 n 的正因子,如28的真因子为1, 2, 4, 7, 14。bool isPerfectNumber(int n) {
2025年
单选
A67307
以下代码计算两个正整数的最大公约数(GCD),横线上应填写( )。int gcd0(int a, int b) {
2025年
单选
A67306
函数 sieve 实现埃拉托斯特尼筛法(埃氏筛),横线处应填入( )。vector<bool> sieve(int n) {
2025年
单选
A67305
函数 linearSieve 实现线性筛法(欧拉筛),横线处应填入( )。vector<int> linearSieve(int n) {
2025年
单选
A67304
关于 埃氏筛 和 线性筛 的比较,下列说法错误的是( )。
2025年
单选
A67303
唯一分解定理描述的是( )。
2025年
单选
A67302
给定一个 n x n 的矩阵 matrix ,矩阵的每一行和每一列都按升序排列。函数 countLE 返回矩阵中第 k 小的元素,则两处横线上应分别填写( )。// 统计矩阵中 <= x 的元素个数:从左下角开始
2025年
单选
A67301
下述C++代码实现了快速排序算法,下面说法错误的是( )。int partition(vector<int>& arr, int low, int high) {
2025年
单选
A67300
下述C++代码实现了归并排序算法,则横线上应填写( )。void merge(vector<int> &nums, int left, int mid, int right) {
2025年
单选
A67299
假设你是一家电影院的排片经理,只有一个放映厅。你有一个电影列表 movies ,其中 movies[i] = [start_i, end_i] 表示第 i 部电影的开始和结束时间。请你找出最多能安排多少部不重叠的电影,则横线上应分 别填写的代码为( )。int maxMovies(vector<vector<int>>& movies) {
2025年
单选
A67298
给定一个整数数组 nums ,下面代码找到一个具有最大和的连续子数组,并返回该最大和。则下面说法错 误的是( )。int crossSum(vector<int>& nums, int left, int mid, int right) {
2025年
单选