#include <stdio.h>
#include <stdlib.h>
int partion(int arr[],int low,int high){
int pivot;
pivot=arr[low];
while(low<high){
while(arr[high]>=pivot&&low<high){
high--;
}
arr[low]=arr[high];
while(arr[low]<=pivot&&low<high){
low++;
}
arr[high]=arr[low];
}
arr[low]=pivot;
return low;
}
void quicksort(int arr[],int low,int high){
int pivot_index;
if(low<high){
pivot_index=partion(arr,low,high);
quicksort(arr,low,pivot_index-1);
quicksort(arr,pivot_index+1,high);
}
}
void main(){
int n,i;
int arr[30];
printf("input integer number(<30):");
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&arr[i]);
}
quicksort(arr,0,n-1);
printf("quicksort result:\n");
for(i=0;i<n;i++) {
printf("%d ",arr[i]);
}
}
运行结果如下: