SDUT3401数据结构实验之排序四:寻找大富翁
来源:互联网 发布:咏春拳网络公开课22 编辑:程序博客网 时间:2024/06/03 14:17
#include<bits/stdc++.h>using namespace std;void heapadjust(int a[],int i,int n){ int lc=i*2; int rc=i*2+1; int t=i; if(i<=n/2) { if(lc<=n&&a[lc]>a[t]) t=lc; if(rc<=n&&a[rc]>a[t]) t=rc; if(t!=i) { swap(a[i],a[t]); heapadjust(a,t,n); } }}void buildheap(int a[],int n){ for(int i=n/2; i>=1; i--) heapadjust(a,i,n);}void heapsort(int a[],int n){ buildheap(a,n); for(int i=n; i>=1; i--) { swap(a[1],a[i]); heapadjust(a,1,i-1); }}int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { int a[12]; int k=1; for(int i=0; i<n; i++) { int t; scanf("%d",&t); if(k<m+1) a[k++]=t; else { int l=1; for(int j=2; j<k; j++) if(a[l]>a[j]) l=j; if(a[l]<t) a[l]=t; } } heapsort(a,m); for(int i=m; i>=1; i--) if(i==m) printf("%d",a[i]); else printf(" %d",a[i]); printf("\n"); }}
0 0
- SDUT3401数据结构实验之排序四:寻找大富翁
- SDUT3401数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- 数据结构实验之排序四:寻找大富翁
- Glide介绍及源码解析二
- LMAP
- 浅谈微信卡券功能开发(2)
- 1012. 数字分类 (20)
- 【python新手入门】一个python List 的简单运用 -----班级学生管理系统
- SDUT3401数据结构实验之排序四:寻找大富翁
- 创建ssh自启动服务的docker镜像
- MySQL常用语句集锦
- 160804方法调用的练习题1
- AndroidStudio常用设置总结
- PHP的奋斗之路
- 关于521
- Yii之请求部分 - request
- KVM源代码分析4:内存虚拟化