关注
//堆排序
#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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
494406次浏览 5060人参与
# 晒一晒我的offer #
10098073次浏览 106893人参与
# 职场情商大赛 #
7121次浏览 99人参与
# 如何排解工作中的焦虑 #
79137次浏览 1090人参与
# 面试题刺客退退退 #
147452次浏览 2173人参与
# 字节跳动工作体验 #
226922次浏览 3129人参与
# 我的岗位说明书 #
96401次浏览 953人参与
# 我的第一份实习怎么找的 #
36284次浏览 314人参与
# 你投了多少份简历了? #
71091次浏览 839人参与
# 小红书求职进展汇总 #
32121次浏览 272人参与
# 听劝,这个公司值得去吗 #
334931次浏览 1357人参与
# 求职你最看重什么? #
18979次浏览 133人参与
# 远程面试的尴尬瞬间 #
23858次浏览 324人参与
# 非技术岗薪资爆料 #
213945次浏览 1850人参与
# 平台or薪资,你更看重哪个 #
285328次浏览 1880人参与
# 运营人的第一份offer应该如何选 #
88571次浏览 889人参与
# 夸夸我的求职搭子 #
135055次浏览 1386人参与
# 同bg的你秋招战况如何? #
100496次浏览 749人参与
# 怎么面对正在吵架的两个同事 #
11446次浏览 84人参与
# lastday知无不言 #
25696次浏览 188人参与