//快速排序
#include<stdio.h>
inline void swap(int v[], int k, int j)
{
int temp;
temp = v[k];
v[k] = v[j];
v[j] = temp;
}
void qsort(int v[], int left, int right)
{
int j, last;
if (left >= right)
{
return;
}
swap(v, left, (left + right) / 2);
last = left;
for (j = left + 1; j <= right; j++)
{
if (v[j] < v[left])
{
swap(v, ++last, j);
}
}
swap(v, left, last);
qsort(v, left, last - 1);
qsort(v, last + 1, right);
}
void main()
{
int data[] = {2, 10, 5, 7, 4};
int j;
qsort(data, 0, 5);
for (j = 0; j < 5; j++)
{
printf("%4d", data[j]);
}
printf("\n");
}