#include <stdio.h>
int main()
{
int data[10]={6,1,2,7,9,3,4,5,10,8};
quicksort(data,0,9);
int i;
for(i=0;i<10;i++)
printf("%d",data[i]);
printf("\n");
return 0;
}
void quicksort(int data[],int first,int last){
int i,j,t,base;
if(first>last)
return ;
base=data[first];
i=first;
j=last;
while (i!=j)
{
while(data[j]>=base&&i<j)
j--;
while (data[i]<=base&&i<j)
i++;
if(i<j)
{
t=data[i];
data[i]=data[j];
data[j]=t;
}
}
data[first]=data[i];
data[i]=base;
quicksort(data,first,i-1);
quicksort(data,i+1,last);
}
int main()
{
int data[10]={6,1,2,7,9,3,4,5,10,8};
quicksort(data,0,9);
int i;
for(i=0;i<10;i++)
printf("%d",data[i]);
printf("\n");
return 0;
}
void quicksort(int data[],int first,int last){
int i,j,t,base;
if(first>last)
return ;
base=data[first];
i=first;
j=last;
while (i!=j)
{
while(data[j]>=base&&i<j)
j--;
while (data[i]<=base&&i<j)
i++;
if(i<j)
{
t=data[i];
data[i]=data[j];
data[j]=t;
}
}
data[first]=data[i];
data[i]=base;
quicksort(data,first,i-1);
quicksort(data,i+1,last);
}