下沉时和哪个孩子换(C++)
下沉的时候,要和【0】交换。
和较小的那个换会怎样(C++)
下沉时如果和较小的孩子交换,后果是【0】。
弹一次之后新的堆顶是几
堆是 24、23、15、13、17。运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #include <ut
弹一次之后还剩几个
同一个堆。运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #include <utility> #in
写下沉
补全 sift_down:让下标 i 上的元素一路往下沉到该去的位置。把堆顶换成 17 再沉一次,输出新的堆顶。 (本题用 g++ -std=c++17 -O0 编译。)
写弹出
补全 pop_top:取走堆顶、拿末尾补上、再下沉,返回取走的那个。补全后输出弹出来的值。 (本题用 g++ -std=c++17 -O0 编译。)
连弹两次第二次弹出谁
同一个 pop_top。连着弹两次,输出第二次弹出来的值。 (本题用 g++ -std=c++17 -O0 编译。)
默认的优先队列谁在顶上
priority_queue<int> 不加任何参数时,top() 拿到的是【0】。
怎么写出小根堆
第 1 步:同样的五个数依次进去 第 2 步:默认:大的先出来 第 3 步:写 greater<>:小的先出 第 4 步:方向和 sort 正好相反 24 23 17 15 13 13 15 17 23 24 想让 priori
比较器方向为何和 sort 反
sort 用 greater<> 排出从大到小,priority_queue 用它却是小的先出,原因是【0】。