关注
//堆排序
#include <iostream>
using namespace std;
int arr[100010];
int n,sz;
void down(int u) {
int t = u;
if (u * 2 <= sz && arr[u * 2] < arr[t]) t = u * 2;
if (u * 2 + 1 <= sz && arr[u * 2 + 1] < arr[t]) t = u * 2 + 1;
if (u != t) {
swap(arr[u], arr[t]);
down(t);
}
}
int main() {
printf("你想输入多少个数字:");
scanf("%d", &n);
sz = n;
for (int i = 1; i <= n; i++)
scanf("%d", &arr[i]);
for (int i = n / 2; i; i--)
down(i);
while (sz) {
printf("%d ", arr[1]);
arr[1] = arr[sz--];
down(1);
}
return 0;
}
1
相关推荐
查看13道真题和解析
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
555114次浏览 5674人参与
# 你都收到了哪些公司的感谢信? #
3643050次浏览 32020人参与
# 百融云创开奖 #
60783次浏览 640人参与
# 运营面经 #
72923次浏览 983人参与
# 现在还是0offer,延毕还是备考 #
838750次浏览 6983人参与
# 同事找你打听工资怎么办 #
10348次浏览 82人参与
# 牛客帮帮团来啦!有问必答 #
2410722次浏览 24877人参与
# 如何写一份好简历 #
635546次浏览 8883人参与
# 那些拿到大厂offer的简历长啥样 #
140483次浏览 2417人参与
# 我的求职思考 #
4325023次浏览 58176人参与
# 想实习转正,又想准备秋招,我该怎么办 #
504222次浏览 5114人参与
# 国企是春招机械人最好的去处吗 #
11217次浏览 66人参与
# 牛客激励计划 #
47802次浏览 1035人参与
# 实习想申请秋招offer,能不能argue薪资 #
48375次浏览 392人参与
# 如果实习可以转正,你会不会放弃秋招 #
217735次浏览 2891人参与
# 运营人的第一份offer应该如何选 #
90660次浏览 906人参与
# 运营每日一题 #
28509次浏览 406人参与
# 听劝,这个公司值得去吗 #
339967次浏览 1384人参与
# 我的论文进展 #
16680次浏览 223人参与
# 美的求职进展汇总 #
211884次浏览 1643人参与
# 实习与准备秋招该如何平衡 #
743021次浏览 8683人参与