import java.util.Arrays;
/**
* @author silence
* 快排,已第一个数为基准,放到属于他的位置,
* 左边都比他大,右边都比他小
*/
public class Demo1 {
public static void main(String[] args) {
int[] arr = new int[]{6, 1, 2, 7, 9, 3, 4, 5, 10, 8};
System.out.println(Arrays.toString(arr));
getArr(arr, 0, arr.length - 1);
System.out.println(Arrays.toString(arr));
}
private static void getArr(int[] arr, int left, int right) {
while (left != right) {
while ((arr[right] >= arr[0]) && (right > left)) {
right--;
}
while (arr[left] <= arr[0] && right > left) {
left++;
}
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
int temp = arr[left];
arr[left] = arr[0];
arr[0] = temp;
}
}
数组快排
最新推荐文章于 2024-09-02 20:52:03 发布