快速排序
#include <stdio.h>
void qsort(int s[], int l, int r)
{
int i, j, x;
if (l < r)
{
i = l;
j = r;
x = s[i];
while (i < j)
{
while(i < j && s[j] > x) j--; /* 从右向左找第一个小于x的数 */
if(i < j) s[i++] = s[j];
while(i< j && s[i] < x) i++; /* 从左向右找第一个大于x的数 */
if(i < j) s[j--] = s[i];
}
s[i] = x;
qsort(s, l, i-1); /* 递归调用 */
qsort(s, i+1, r);
qsort(s, i+1, r);
}
or (int a=0; a<10 ; a++) {
rintf("%d ",s[a]);
}
printf("\n");
}
int(){
int s[]={72,6,57,88,60,42,83,73,48,85};
for (int a=0 ; a<10 ; a++) {
printf("%d ",s[a]);
}
printf("\n");
printf("开始排序:\n");
qsort(s,0,9);
return 0;
}