堆排序为什么不用额外空间(C++)

堆排序的空间复杂度是 O(1),因为【0】。

开始练习 →

堆排序稳定吗(C++)

堆排序【0】。

开始练习 →

建堆之后堆顶是几

把 17 24 15 13 23 建成大顶堆。 运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <

开始练习 →

堆排完是什么样

运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #include <

开始练习 →

先把下沉写出来

补全 sift_down:让下标 i 上的元素往下沉,只在前 n 个元素里做。把 13 24 15 的 0 号下沉一次,输出第一个。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

接上排序

sift_down 已经写好。补全 hsort 的第二步:反复把堆顶换到末尾,并把堆缩小一格。排完用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

三种排序结果必须一样

堆排、归并、冒泡都已经写好。补全 main:三种排序排同一个数组,三个都一样输出 三种一致,否则输出 有不一致。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

std::sort 是稳定的吗

C++ 标准库的 std::sort【0】。

开始练习 →

什么时候该自己写排序

第 1 步:同一组数排两次 第 2 步:上:默认从小到大 第 3 步:下:比较器换成大于 17 24 15 13 23 17 24 15 13 23 实际工程里,自己动手写排序的理由通常是【0】。

开始练习 →

按第二个字段稳定地排

四条记录按 key 用 stable_sort 排序。 运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include

开始练习 →