第三步数出比较次数

第三步:bubble_cmps 已写好,补全 insert_cmps 的计数,把两者的比较次数用 / 拼起来输出(冒泡在前)。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

第四步稳定性对比

第四步:用 stable_sort 按 key 排那四条记录,把名字用 / 拼起来输出——这就是稳定排序该有的样子。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

交付四种排序加一份对比

这是这条路线的最终作品。冒泡、插入、归并、堆排、计数、快排深度、选型都已经写好,只剩插入排序的内层和堆排序的第二步。补全之后一次验完五条:四种排序都等于 std::sort 的结果;冒泡比较 10 次、插入 8 次;稳定归并排四条记录得到

开始练习 →

修排序 bug 时先怎么自测

修完一个排序程序,最该先用哪种数据自测?答:【0】。

开始练习 →

修好比较器

场景:实验机上 ~/work/sort/rank.cpp 读入「名字 分数」,按分数从高到低输出;同分按名字字典序从小到大。可比较器写成了 >=:同分的人顺序乱七八糟,数据一多还可能崩溃。 任务:修好比较器,让它满足严格弱序。make

开始练习 →

修好归并漏掉的元素

场景:~/work/sort/msort.cpp 是一个归并排序,排出来的数总是比输入少几个。 任务:修好合并函数,一个元素都不能丢。make 编译后用 sample.txt 自测;check 会用随机数组(含空数组、单个元素、大量重复)对

开始练习 →

修好快排的越界

场景:~/work/sort/qs.cpp 是一个原地快排,Makefile 带内存检查(AddressSanitizer),一运行就报数组越界。 任务:修好下标,让它不越界、排得对。make 编译后用 sample.txt 自测,运行时不

开始练习 →

补写插入排序

场景:~/work/sort/ins.cpp 读入一串整数,要用插入排序排好后输出,可 insertion_sort 还没写。 任务:补全 insertion_sort。make 编译后用 sample.txt 自测;check 会用每次现

开始练习 →

递归函数必须有哪两部分

第 1 步:算 fact(4):调用一层压一层 第 2 步:压进 fact(4) 第 3 步:压进 fact(3) 第 4 步:压进 fact(2) 第 5 步:压进 fact(1) 第 6 步:n 到 1:碰到出口,不再往下 第 7 步:

开始练习 →

递归和循环有什么共同点

递归和循环的共同点是【0】。

开始练习 →