上浮最多走几步(C++)

插入一个元素,上浮最多走【0】步。

开始练习 →

插完五个数之后堆顶是几

把 17、24、15、13、23 依次插进一个空的大顶堆。运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #inc

开始练习 →

自己写插入

补全 push_up:先放到末尾,再一路上浮。把五个数插完之后输出堆顶(堆空着的话输出 空)。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

插完之后整个数组长什么样

同一个 push_up。五个数插完之后,把整个数组拼起来输出(用 / 隔开)。注意末尾两个的大小关系——兄弟之间本来就没有要求。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

插入 23 时上浮了几次

补全 push_count(大顶堆:比父亲大就往上换),让它返回这次上浮换了几次。前四个数插完之后再插 23,输出这一次换了几次。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

取走堆顶之后拿什么补上

第 1 步:要拿走堆顶 24 第 2 步:末尾的 17 补到顶上 第 3 步:两个孩子里 23 大 第 4 步:17 和 23 换 第 5 步:17 比孩子 13 大:停 第 6 步:新堆顶是 23 24 23 15 13 17 24 23

开始练习 →

下沉时和哪个孩子换(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

开始练习 →