java 排序方法补充 快速排序法

2765阅读 0评论2012-07-20 DFlinux
分类:Java

快速排序法:(目前已知的排序法中最快的)

点击(此处)折叠或打开

  1. //3、快速排序法

  2. class Quick
  3. {
  4.     public void sort(int arr[],int left,int right)
  5.     {
  6.         if(left<right)
  7.         {
  8.             int i=left;
  9.             int j=right+1;
  10.             while(true)
  11.             {
  12.                 while(i+1<arr.length&&arr[++i]<arr[left]); //向右找

  13.                 while(j-1>=0&&arr[--j]>arr[left]); //向左找

  14.                 if(i>=j)
  15.                     break;
  16.                 swap(arr,i,j);
  17.             }
  18.             swap(arr,left,j);
  19.             sort(arr,left,j-1); // 对左边进行返回

  20.             sort(arr,j+1,right); //对右边进行返回

  21.         }
  22.     }
  23.     public void swap(int arr[],int i,int j)
  24.     {
  25.         int t=arr[i];
  26.         arr[i]=arr[j];
  27.         arr[j]=t;
  28.     }
  29. }

 
上一篇:java 二分查找法
下一篇:没有了