#include <stdio.h>
#include <stdlib.h>
/******************************************************************
*author@zs *
*date@2019-10-05 *
*desc@Quick sort *
*******************************************************************/
void quickSort(int R[],int start,int end)
{
int i;
if(start<end)
{
i=partition(R,start,end);
quickSort(R,start,i-1);
quickSort(R,i+1,end);
}
}
int partition(int R[],int s,int t)
{
int i=s,j=t;
int tmp=R[i];
do{
while(R[j]>=tmp && i<j){
j--;
}
if(i<j) R[i++]=R[j];
while(R[i]<=tmp && i<j){
i++;
}
if(i<j) R[j--]=R[i];
}while(i!=j);
R[i]=tmp;
/*每一次排序完成则输出结果*/
printf("排序之后:");
int(*p)[9]=(int(*)[9])R;
int k=0;
for(k;k<9;k++){
printf("%d ",*(*p+k));
}
printf("\n");
return i;
}
int main(void)
{
int arr[]={54,23,89,48,64,50,25,90,34};
int start=0;
int end=sizeof(arr)/sizeof(int);
quickSort(arr,start,end);
return 0;
}