关注
//堆排序
#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届秋招总结 #
487415次浏览 4973人参与
# 晒一晒我的offer #
10079048次浏览 106742人参与
# 职场情商大赛 #
5232次浏览 80人参与
# 我在牛爱网找对象 #
79407次浏览 591人参与
# lastday知无不言 #
25454次浏览 185人参与
# 如何排解工作中的焦虑 #
77895次浏览 1085人参与
# 哪个瞬间让你对大厂祛魅了? #
115689次浏览 702人参与
# 你投了多少份简历了? #
70436次浏览 833人参与
# 求职你最看重什么? #
18646次浏览 131人参与
# 联影求职进展汇总 #
21842次浏览 191人参与
# 机械人怎么评价今年的华为 #
161766次浏览 1374人参与
# 我的第一份实习怎么找的 #
35740次浏览 307人参与
# 夸夸我的求职搭子 #
134674次浏览 1383人参与
# 你觉得今年秋招难吗 #
1264046次浏览 15843人参与
# 同bg的你秋招战况如何? #
99370次浏览 746人参与
# 我发现了面试通关密码 #
951967次浏览 15849人参与
# 怎么面对正在吵架的两个同事 #
10797次浏览 82人参与
# 实习,投递多份简历没人回复怎么办 #
2480479次浏览 35051人参与
# 非技术岗简历怎么写 #
163831次浏览 2503人参与
# 运营人的第一份offer应该如何选 #
88386次浏览 889人参与