#include <stdio.h>
void quicksort(int array[],int left,int right);
void swap(int *a,int *b);
int main()
{
int i = 0;
int a[10] = {6,1,2,7,9,3,4,5,10,8};
quicksort(a,0,9);
for(i = 0; i < 10; i++)
{
printf("a[%d] = %d\n",i,a[i]);
}
return 0;
}
void quicksort(int array[],int left,int right)
{
int i = left;
int j = right;
int temp;
if(i > j)
return ;
temp = array[left];
while(i != j)
{
while(array[j] >= temp && i < j)
j--;
while(array[i] <= temp && i < j)
i++;
if(i < j)
swap(&array[i],&array[j]);
}
swap(&array[left],&array[i]);
quicksort(array,left,i - 1);
quicksort(array,i + 1,right);
}
void swap(int *a,int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}