关注
//堆排序
#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-14 15:03
西安电子科技大学 C++ 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
505426次浏览 5170人参与
# 晒一晒我的offer #
10127759次浏览 107122人参与
# 职场情商大赛 #
12146次浏览 143人参与
# 我的求职思考 #
4270387次浏览 57617人参与
# 牛客激励计划 #
15901次浏览 458人参与
# 如何排解工作中的焦虑 #
81827次浏览 1116人参与
# 求职你最看重什么? #
19768次浏览 142人参与
# 百度秋招提前批进度 #
89462次浏览 1067人参与
# 字节跳动工作体验 #
228421次浏览 3134人参与
# 运营人的第一份offer应该如何选 #
88851次浏览 892人参与
# 滴!实习打卡 #
498181次浏览 5659人参与
# 我的第一份实习怎么找的 #
36774次浏览 323人参与
# 夸夸我的求职搭子 #
135711次浏览 1400人参与
# 你想留在一线还是回老家? #
8438次浏览 164人参与
# 你投了多少份简历了? #
72133次浏览 847人参与
# 听劝,这个公司值得去吗 #
335674次浏览 1359人参与
# 机械人的薪资开到多少,才适合去? #
79450次浏览 377人参与
# 国央企笔面经互助 #
91198次浏览 914人参与
# 我的岗位说明书 #
97751次浏览 965人参与
# 找工作时遇到的神仙HR #
578405次浏览 3977人参与