数据结构实验之排序一:一趟快排
H 数据结构实验之排序一:一趟快排Problem Description 给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。 Input 连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。 Output 输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。 Sample Input 8 49 38 65 97 76 13 27 49 Sample Output 27 38 13 49 76 97 65 49 Hint Source xam #include 02 void qsort(int a[],int l,int h) 03 { 04 int i = l,j = h,k = a[l]; 05 if (i >= j) 06 return ; 07 while(i < j) 08 { 09 while(i < j && a[j] >= k) 10 j--; 11 a[i] = a[j]; 12 while(i < j && a[i] <= k) 13 i++; 14 a[j] = a[i]; 15 } 16 a[i] = k; 17 return ; 18 } 19 int main() 20 { 21 int a[10010]; 22 int n,i ; 23 while(~scanf("%d",&n)) 24 { 25 for (i = 0 ;i < n ; i++) 26 { 27 scanf("%d",&a[i]); 28 } 29 qsort(a,n-1); 30 for (i = 0 ; i < n ; i++) 31 printf("%d%c",a[i],i == n-1 ?'n':' '); 32 } 33 return 0; 34 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |