快速排序
快速排序,俗称快排。
详解摘自 坐在马桶上看算法:快速排序
讲的容易理解,需要多加练习,ide中多看看是怎么走的。
本汪也练习了一番。
public class QuickSort { public static void quick(int array[]) { quick(array,0,array.length-1); } private static void quick(int[] array,int left,int right) { if(left >= right) { return ; } int temp = array[left]; int i = left; int j = right; while(i < j) { while(i < j && array[j] >= temp) { j--; } if(i < j) { array[i++] = array[j]; } while(i < j && array[i] < temp) { i++; } if(i < j) { array[j--] = array[i]; } } //此时 i==j array[i] = temp; quick(array,left,i-1); quick(array,j+1,right); } }