import java.util.*; public class QuickSort{ public void getQuick(int[] array,int left,int right){ if(array == null || array.length == 0) return ; if(left<right){ int mid = getMid(array,left,right); getQuick(array,0,mid-1); getQuick(array,mid+1,right); } } public int getMid(int[] array,int left,int right){ while(left<right){ while(left<right && array[left]<=array[right]){ right--; } if(left<right){ swap(array,left,right); } while(left<right && array[left]<=array[right]){ left++; } if(left<right){ swap(array,left,right); } } return left; } public void swap(int[] array,int left,int right){ int temp = array[left]; array[left] = array[right]; array[right] = temp; } public static void main(String[] args){ int[] array = {3,6,9, 2, 3, 1, 5, 4 }; QuickSort q = new QuickSort(); q.getQuick(array,0,7); System.out.println(Arrays.toString(array)); } }