# include<iostream>
void swap(int *a,int *b)//娉ㄦ剰瑕佷紶鍦板潃
{
int tmp = 0;
tmp = *a;
*a = *b;
*b = tmp;
}
int partition(int data[],int start,int end )//鏈鍚庢槸 i鍒?nbsp;j-1 鐨勯兘鏄皬浜?nbsp;data[end]
{
int i ,j = -1;
//data[0] = 1000;
if(start < end)
{
for(j = start,i = start;i < end; i ++)
{
if(data[i]<data[end])
{
swap(&data[i],&data[j]);
j++;
}
}
swap(&data[end],&data[j]);
}
return j;
}
int partition1(int data[],int start,int end )//鏈鍚庢槸 i鍒?nbsp;j-1 鐨勯兘鏄皬浜?nbsp;data[end]
{
int i ,j = -1;
//data[0] = 1000;
if(start < end)
{
for(j = start+1,i = start+1;i <= end; i ++)
{
if(data[i]<data[start])
{
swap(&data[i],&data[j]);
j++;
}
}
swap(&data[start],&data[j]);
}
return j;
}
void quicksort(int data[],int start,int end)
{
int mid = 0;
if(start< end)
{
mid = partition1(data,start,end);
quicksort(data,start,mid-1);
quicksort(data,mid+1,end);
}
}
void printf(int data[])
{
int len = 10,i ;
for(i = 0;i < len ; i ++)
printf("%d ",data[i]);
}
int main()
{
int data[10] = {10,-232,43422,5,632,72,3,55,12,132};
quicksort(data,0,9);
printf(data);
return 0;
}

]]>