package com.itheima.myBinarySearch;
public class Demo2 {
public static void main(String[] args) {
// 先定义一个int类型的数组
int[] arr = {3, 4, 1, 7, 14, 8, 9, 10};
// 定义一个快排的方法
quitSort(arr, 0, arr.length - 1);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
private static void quitSort(int[] arr, int left, int right) {
// 定义一个最左边的值、最右边的值、基本数
int left0 = left;
int right0 = right;
int basenumber = arr[left0];
while(left != right){
while(arr[left] <= basenumber && left < right){
left++;
}
while(arr[right] >= basenumber && right > left){
right--;
}
// 交换两个值
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
// 当左右两边指向同一个数的时候,基准数归位
int same = arr[left];
arr[left] = arr[left0];
arr[left0] = same;
}
}
打印结果:
4 1 3 7 14 8 9 10
作为基本数的3左边并不是都小于3的