关注
//堆排序
#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
相关推荐
点赞 评论 收藏
分享
11-13 15:20
门头沟学院 前端工程师 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
539271次浏览 5515人参与
# 运营每日一题 #
24325次浏览 390人参与
# 百融云创开奖 #
51984次浏览 606人参与
# 上班苦还是上学苦呢? #
180070次浏览 1074人参与
# 我的求职思考 #
4304209次浏览 57976人参与
# 牛客激励计划 #
38574次浏览 884人参与
# 听劝,这个公司值得去吗 #
338321次浏览 1376人参与
# 我的论文进展 #
13657次浏览 179人参与
# 数字马力求职进展汇总 #
125381次浏览 1106人参与
# 职场情商大赛 #
20035次浏览 213人参与
# 正在实习的你,几点下班 #
58322次浏览 433人参与
# 提前批简历挂麻了怎么办 #
153357次浏览 2000人参与
# 秋招结束之后的日子 #
10818次浏览 95人参与
# 秋招后遗症 #
2267次浏览 38人参与
# 想实习转正,又想准备秋招,我该怎么办 #
502120次浏览 5100人参与
# 晒一晒我的offer #
10191722次浏览 107561人参与
# 同事找你打听工资怎么办 #
9051次浏览 80人参与
# 怎么委婉指出leader的错误 #
4419次浏览 28人参与
# 牛客帮帮团来啦!有问必答 #
2407281次浏览 24862人参与
# 晶盛机电求职进展汇总 #
21081次浏览 292人参与
# 不给转正的实习,你还去吗 #
1575244次浏览 17623人参与