快速排序代碼

 #include
  2
  3 int main (int argc,char *argv[])
  4 {
  5         void quickSort(int[],int,int);
  6         int a[7] = {7,4,1,2,5,3,6};
  7         int i;
  8         quickSort(a,0,6);
  9         for(i = 0;i < 7;i++)
 10         {
 11                 printf("%4d",a[i]);
 12         }
 13
 14         return 0;
 15 }
 16 void quickSort(int a[],int left,int right)
 17 {
 18
 19         int i,j,temp;
 20         i = left;
 21         j = right;
 22         temp = a[left];
 23         if(left > right)
 24                 return;
 25         while(i != j)
 26         {
 27                 while(a[j] >= temp && j > i)
 28                         j--;
 29                 if(j > i)
 30                 {
 32                         a[i++] = a[j];
 34                 }
 35                 while(a[i] <= temp && j > i)
 36                         i++;
 37                 if(j > i)
 38                         a[j--] = a[i];
 39
 40         }
 41         a[i] = temp;
 42         quickSort(a,left,i-1);
 43         quickSort(a,i+1,right);
 44
 45         return ;
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章