public static void quickSort(int[] a, int lowIndex, int highIndex){
        if (null==a || a.length==0){
            return;
        }

        if (lowIndex < highIndex){
            int middle=getMiddle(a, lowIndex, highIndex);

            //left : recursion
            quickSort(a, lowIndex, middle -1);

            //right : recursion
            quickSort(a, middle+1, highIndex);
        }

    }