堆排(模板)
来源:互联网 发布:js 点击div刷新页面 编辑:程序博客网 时间:2024/05/31 13:15
堆排序
#include<bits/stdc++.h>using namespace std;const int MAXN=1005;int n,a[MAXN],f[MAXN],t,siz;inline void pus(int x){ f[++t]=x; int now=t; while(now>1){ if(f[now]>f[now/2]) break; swap(f[now],f[now/2]); now/=2; }}inline void del(){ int now=1; while(2*now<siz){ int tp=2*now; if(f[tp]>f[tp+1] && tp+1<siz) tp++; if(f[now]>f[tp]){ swap(f[now],f[tp]); now=tp; } else break; }}int main(){ scanf("%d",&n); for(register int i=1;i<=n;i++){ scanf("%d",&a[i]); pus(a[i]); } for(siz=n;siz>=2;siz--){ swap(f[1],f[siz]); del(); } for(register int i=1;i<=n;i++) printf("%d ",f[i]); return 0;}
阅读全文
0 0
- 堆排(模板)
- 模板-堆(根堆相关操作,堆排)
- 堆排模板
- 堆排(库函数)
- 排序(快排,归并,堆排)
- 堆排(大顶堆,小顶堆)
- 堆排(大顶堆,小顶堆)
- 堆排(演示过程)
- 堆排
- 堆排
- 堆排
- 堆排
- 堆排
- 排序(冒泡,选择,插入,快排,堆排)
- 数据结构-堆的应用(TopK &堆排)
- 内部排序算法合集(快排、归并、插排、堆排)
- 一些排序方法(堆排,归并,快排,计数排)
- 【模板】二叉堆 (模板题:洛谷P3378堆)
- LFU Cache:最不经常使用页置换算法
- 2018春节倒计时
- Longest Increasing Path in a Matrix
- 启明星第八周学习总结
- Java —— 数据统计图的实现(柱形图,饼图,折线图)
- 堆排(模板)
- 数据结构第七周项目-排队看病模拟(队列)
- 广告拦截之Adblock Plus 安装
- bzoj2157
- 栈的简单运用
- Androidstudio控制台分层输出接口日志.类似BeJSON,HiJson格式化JSON
- 做题修改1
- HAProxy 1.8 新特性
- 输出定长的string