#include <cstdio> #include <iostream> #include <cstring> #define MAXN 1000005 using namespace std; int input[MAXN]; /* * 快速排序 */ void QuickSort(int a[],int left,int right){ //数组和上下界 if(!(left < right)) //递归结束条件 return; int key = a[left]; //轴值 int l,r; l = left; r = right; //一轮快排 while(l < r){ while(l < r && a[r] >= key) r--; a[l] = a[r]; while(l < r && a[l] <= key) l++; a[r] = a[l]; } a[l] = key; //递归 QuickSort(a,left,l-1); QuickSort(a,l+1,right); } int main(){ int n,m; //接受输入 while(scanf("%d%d",&n,&m) != EOF) { for(int i = 1;i <= n; i++) scanf("%d",&input[i]); QuickSort(input,1,n); for(int i = n;i > n - m;i--) if(i != n-m+1) printf("%d ",input[i]); else printf("%d\n",input[i]); } return 0; }
HDOJ1425 sort-快排水题
猜你喜欢
转载自blog.csdn.net/lmhlmh_/article/details/80581469
今日推荐
周排行