快速排序算法JAVA实现

 

  
  
  
  
  1. package org.test3; 
  2.  
  3. public class Test3 { 
  4.     public static void main(String args[]){ 
  5.         new Test3(); 
  6.     } 
  7.     public Test3(){ 
  8.         int[] arrays = { 10322237252311211518326 }; 
  9.         System.out.println("进行快速排序之前的为"); 
  10.         for(int x:arrays){ 
  11.             System.out.print(x + " "); 
  12.         } 
  13.         quickSort(arrays,0,arrays.length-1); 
  14.         System.out.println("\n进行快速排序之后的为"); 
  15.         for(int x:arrays){ 
  16.             System.out.print(x + " "); 
  17.         } 
  18.     } 
  19.     /** 
  20.      * 进行快排 
  21.      * @param arrays 
  22.      * @param low 
  23.      * @param high 
  24.      */ 
  25.     private void quickSort(int[] arrays,int low ,int high){ 
  26.         int i = low; 
  27.         int j = high; 
  28.         if(i<j){ 
  29.             int key = arrays[i]; 
  30.             while(i<j){ 
  31.                 while(i<j&&arrays[j]>key){ 
  32.                     j--; 
  33.                 } 
  34.                 if(i<j){ 
  35.                     arrays[i] = arrays[j]; 
  36.                     i++; 
  37.                 } 
  38.                 while(i<j&&arrays[i]<key){ 
  39.                     i++; 
  40.                 } 
  41.                 if(i<j){ 
  42.                     arrays[j] = arrays[i]; 
  43.                     j--; 
  44.                 } 
  45.             } 
  46.             arrays[i] = key; 
  47.             quickSort(arrays,low,i-1);  //继续前半截的排序 
  48.             quickSort(arrays,i+1,high); //继续后半截的排序 
  49.         } 
  50.     } 
  51.   

 

你可能感兴趣的:(java,算法,快速,职场,休闲)