**
快排方法
public static void quick(int[] arr, int begin, int end) { //begin为数组最左侧脚标
//end为数组arr的长度
if (begin >= end) { //递归结束条件
return;
}
int key = arr[begin]; // 取最左边的值为key值
int keyIndex = begin; // 作用就是用于保存最终的key值的位置
for (int i = begin + 1; i < end; i++) {
if (arr[i] < key) { // 如果i位置的值比key值小
keyIndex++;
int tmp = arr[i];
arr[i] = arr[keyIndex]; // 腾位置, 保存比key值小的值
arr[keyIndex] = tmp; // 交换keyIndex和i位置的值
}
}
// 交换开始位置和keyIndex位置
arr[begin] = arr[keyIndex];
arr[keyIndex] = key; // key值归位, 左子列和右子列出来
// 左子列
quick(arr, begin, keyIndex); // 左子列 递归
quick(arr, keyIndex + 1, end); // 右子列 递归
}