|  | 
 
| 
#include <stdio.h>
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  void quicksort(int a[] , int left ,int right);
 void quicksort(int a[] , int left ,int right)
 {
 int temp;
 int point;
 int i=left , j = right;
 
 point = a[(left +right)/2];
 
 while (i <= j)
 {
 while (a[i] < point)
 {
 i++;
 }
 while (a[j] > point)
 {
 j--;
 }
 
 if (i <= j)
 {
 temp = a[i];
 a[i] = a[j];
 a[j] = temp;
 j--; // 这里为什么要 j-- 和 i++ 呢
 i++;
 }
 }
 
 if (left < j)
 {
 quicksort(a, left, j);
 }
 if (i < right)
 {
 quicksort(a , i , right);
 }
 
 }
 
 int main()
 {
 int a[] = {1 , 2 , 7 , 9 ,8 ,6 ,0 ,5 , 4 ,3};
 int i, length;
 length = sizeof(a)/sizeof(a[0]) ;
 quicksort(a, 0 , length);
 
 printf("快速排序的结果是:");
 for (i=0  ; i<length ; i++)
 {
 printf("%d ",a[i]);
 }
 return 0;
 
 
 }
 | 
 |