#include <stdlib.h>
#include <stdio.h>
my_qsort(int a[], int l, int r)
{
if ( l < r )
{
int i = l, j = r, x = a[l];
while (i < j)
{
while ( i < j && a[j] >= x ) { j--; }
if ( i < j ) { a[i++] = a[j]; }
while ( i < j && a[i] < x ) { i++; }
if ( i < j ) { a[j--] = a[i]; }
}
a[i] = x;
my_qsort(a, l, i - 1);
my_qsort(a, i + 1, r);
}
}
int main()
{
int a[] = {5, 13, 4, 9, 7, 3, 2, 15};
my_qsort(a, 0, 7);
int i = 0;
for ( ; i < 8; ++i )
{
printf("%d\n", a[i]);
}
return 0;
}
自己实现快速排序
最新推荐文章于 2023-07-18 17:23:34 发布