Importjava.util.Arrays; Public classQuickSort { Public Static voidQuicksortint[] Array) {quicksort (array,0, Array.Length); } Public Static voidQuicksortint[] Array,intLowintHigh ) { if(Low <High ) { intPivot =partition (array, low, high); Quicksort (array, low, pivot-1); Quicksort (array, pivot+ 1, high); } } Public Static voidSwapint[] Array,intIintj) {if(i = =j)return; inttemp =Array[i]; Array[i]=Array[j]; ARRAY[J]=temp; } Public Static intPartitionint[] Array,intLowintHigh ) { //Current Division position intPartition_position =Low ; //Center Axis intPivot =Array[partition_position]; for(inti = low + 1; I < high; i++) { if(Array[i] <pivot) {partition_position++; Swap (array, partition_position, i); }} swap (array, partition_position, low); returnpartition_position; } /** * @paramargs*/ Public Static voidMain (string[] args) {//TODO auto-generated Method Stub int[] data =New int[20]; for(inti=0;i<20;i++) {Data[i]=(int) (Math.random () *100); } quicksort (data); System.out.print (arrays.tostring (data)); }}
Execution Result:
[3, ten, 3, +, +,, +, +,---------------
Java Quick Sort