##快速排序
-从待排序列中任取一个元素 (例如取第一个) 作为中心,所有比它小的元素一律前放,所有比它大的元素一律后放,形成左右两个子表;
然后再对各子表重新选择中心元素并依此规则调整,直到每个子表的元素只剩一个。此时便为有序序列了
public class quickSort {
public static void main(String[] args) {
int[] array = {77,63,48,33,10,11,98,32,94,85,83,58,54,30,79};
System.out.println("排序前:");
for (int x:array) {
System.out.print(x + " ");
}
new quickSort().quick_Sort(array,0,array.length - 1);
System.out.println();
System.out.println("排序后:");
for (int x:array) {
System.out.print(x + " ");
}
}
private void quick_Sort(int[] array,int low,int high){
if(low < high){
int i = low;
int j = high;
int x = array[low];
/* 实现左大右小 */
while(i < j){
while(i < j && array[j] > x){
j--;
}
if(i < j){
array[i++] = array[j];
}
while(i < j && array[i] < x){
i++;
}
if(i < j){
array[j--] = array[i];
}
}
array[i] = x;
/* 左边 */
quick_Sort(array,low,i - 1);
/* 右边 */
quick_Sort(array,i + 1,high);
}
}
}