sort
Time Limit : 6000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 194 Accepted Submission(s) : 32
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Input
Output
Sample Input
5 3 3 -35 92 213 -644
Sample Output
213 92 3 /*注意格式问题*/
#include<stdio.h> #include<stdlib.h> #include<malloc.h>
int Partition(int array[], int left, int right) { int i,j; int temp; j=left-1; for (i=left;i<=right;i++) { if (array[i]<= array[right]) { j++; temp=array[j]; array[j]=array[i]; array[i]=temp; } } return j; }
void QuikSort(int array[], int left, int right) { int pivot; if (left<right) { pivot=Partition(array,left,right); QuikSort(array,left,pivot-1); QuikSort(array,pivot+1,right); } }
int main() { int n,m,i; while(scanf("%d%d",&n,&m)!=EOF) { int *a=(int *)malloc(sizeof(int)*n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } QuikSort(a,0,n-1); for(i=n-1;i>n-m-1;i--) { printf("%d",a[i]); if(i!=(n-m)) printf(" "); } printf("\n"); free(a); } return 0; }