PackageQuick; Public classquicksort {Static classQuickSort { Public intdata[]; Private intPartitionintArray[],intLowintHigh ) {              intKey =Array[low];  while(Low <High ) {                   while(Low < High && Array[high] >=key) high--; Array[low]=Array[high];  while(Low < High && Array[low] <=key) Low++; Array[high]=Array[low]; } Array[low]=key; returnLow ; }             Public int[] Sort (intLowintHigh ) {              if(Low <High ) {                  intresult =partition (data, low, high); Sort (low, result-1); Sort (Result+ 1, high); }              returndata; }      }        Static voidPrintintdata[]) {           for(inti = 0; i < data.length; i++) {System.out.print (Data[i]+ " "); }      }         Public Static voidMain (string[] args) {intData[] = {20, 3, 10, 9, 186, 99, 200, 96, 3000 };          print (data);          System.out.println (); QuickSort QS=NewQuickSort (); Qs.data=data; Qs.sort (0, Data.length-1);      print (data); }  }  
Quick Sort Java Edition