编辑代码

class MainQuickSort {
 public static void main(String[] args) {
        //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
        int[] a = {15,56,1, 21, 5,16,2,69,5,498,6,1515,45,561,23,16,65,21,2};
        quickSort(a,0,a.length-1);
        for(int num:a){
		 	System.out.print(num + ",");
		}
	}

    private static void quickSort(int[] intArr,int begin,int end){
        //System.out.println(begin + ":" + end);
        if(begin==end){
            return;
        }
        boolean rightBegin = true ;
        int spitIndex = begin ;
        int left = begin;
        int right = end ;
        while(left<right){
           if(rightBegin){
               while(left<right && intArr[left]<=intArr[right]){
                   right --;
               }
               if(left<right && intArr[left]>intArr[right]){
                   rightBegin = false ;
                   swap(intArr,left,right);
                   spitIndex=right;
               }

           }
           if(!rightBegin){
               while(left<right && intArr[left]<=intArr[right]){
                   left++;
               }
               if(left<right && intArr[left]>intArr[right]){
                   rightBegin=true;
                   swap(intArr,left,right);
                   spitIndex=left;
               }
           }

        }

        for(int a:intArr){
		 	//System.out.print(a + ",");
		 }
		//System.out.println("-------------");
        quickSort(intArr,begin,spitIndex);
        quickSort(intArr,spitIndex+1,end);
    }

    private static void swap(int[] intArr,int left,int right){
        int temp = intArr[left];
        intArr[left] = intArr[right];
        intArr[right]= temp;
    }
}