HDU 1425 sort
2016-04-11 19:17
423 查看
sort
Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 39949 Accepted Submission(s): 11625
[align=left]Problem Description[/align]
给你n个整数,请按从大到小的顺序输出其中前m大的数。
[align=left]Input[/align]
每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。
[align=left]Output[/align]
对每组测试数据按从大到小的顺序输出前m大的数。
[align=left]Sample Input[/align]
5 3 3 -35 92 213 -644
[align=left]Sample Output[/align]
213 92 3 HintHint 请用VC/VC++提交
[align=left]Author[/align]
LL
最近在复习排序算法。
手写快排,一次过
#include <stdio.h> const int MAXN=1000005; int nums[MAXN]; void QSort(int a[],int l,int r) { if(l<r) { int i=l,j=r,x=a[l]; while(i<j) { while(j>i&&a[j]>x) j--; if(j>i) a[i++]=a[j]; while(i<j&&a[i]<=x) i++; if(i<j) a[j--]=a[i]; } a[i]=x; QSort(a,l,i-1); QSort(a,i+1,r); } } void quickSort(int a[],int n) { QSort(a,0,n-1); } int main() { int n,m; while(scanf("%d%d",&n,&m)>0) { for(int i=0;i<n;i++) scanf("%d",&nums[i]); quickSort(nums,n); for(int i=n-1;i>=n-m;i--) printf("%d%c",nums[i],i==n-m?'\n':' '); } return 0; }
相关文章推荐
- Spring中Quartz的配置
- 总结
- Python 操作Mariadb数据库 +Linux
- Spring整个Ibatis之SqlMapClientDaoSupport
- 香港坐标系
- Struts中数据回显,防止表单重复提交
- css3 画三角形
- nosql数据库不提供事务
- Nginx Location处理逻辑(优先级)权威解读
- 14、迭代器模式(Iterator)
- 字节、字、bit、byte的关系
- Java学习笔记(一)
- Java学习笔记(一)
- 排序(五)---基数排序
- MyBatis
- php定时执行脚本
- [poj 2948] Martian Mining 棋盘型DP
- 数据挖掘知识梳理脑图
- 学生成绩管理代码(c代码)
- python的numpy和matplotlib包的安装