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