package com.yjxxt.share;
import java.util.Arrays;
public class MySort_quickSort {
public static void main(String[] args) {
System.out.println(Arrays.toString(quickSort(new int[]{6, 0, 4, 8, 2, 1})));
}
private static int[] quickSort(int[] arr) {
quickSort(0, arr.length - 1, arr);
return arr;
}
private static void quickSort(int left, int right, int[] arr) {
if (left >= right) {
return;
}
int l = left;
int r = right;
int mid = (left + right) / 2;
int num = arr[mid];
while (left < right) {
while (left < mid && arr[left] <= num) {
left++;
}
while (right > mid && arr[right] >= num) {
right--;
}
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
if (mid == left) {
mid = right;
} else if (mid == right) {
mid = left;
}
}
quickSort(l, mid - 1, arr);
quickSort(mid + 1, r, arr);
}
}
排序方法总结: