#include <stdio.h>
//快速排序
void Quick_Sort(int arr[],int head,int tail)
{
if(head > tail)
return ;
int i,j,temp,res;
i = head;
j = tail;
temp = arr[head];
while(i != j)
{
while(arr[j] >= temp && i < j)
j--;
while(arr[i] <= temp && i < j)
i++;
if(i < j)
{
res = arr[i];
arr[i] = arr[j];
arr[j] = res;
}
}
arr[head] = arr[i];
arr[i] = temp;
Quick_Sort(arr,head,i-1);
Quick_Sort(arr,i+1,tail);
}
void print_arr(int arr[],int tail)
{
for(int i = 0; i <= tail; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
int main(void)
{
int arr[] = {4,6,1,3,2,9,10};
int tail,head = 0;
tail = sizeof(arr)/sizeof(int) - 1;
printf("快速排序前:");
for(int i = 0; i <= tail; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
printf("快速排序后:");
Quick_Sort(arr,head,tail);
print_arr(arr,tail);
return 0;
}