快速排序
B站视屏讲解
package cn.axzo.apollo.server.util.sortUtil;
import cn.hutool.core.util.StrUtil;
public class QuickSort {
public static void main(String[] args) {
int[] a = {1, 21, 34, 12, 53, 45, 64, 30, 5, 32, 98};
quickSort(a,0, a.length-1);
printArr(a);
}
public static void quickSort(int[] arr,int left ,int right){
if(left>right){
return;
}
int mid = arr[left];
int i = left ;
int j = right ;
while(i!=j){
while(arr[j] >= mid && i<j ){
j--;
}
while (arr[i]<=mid && i<j){
i++;
}
swap(arr,i,j);
}
arr[left]=arr[i];
arr[i] = mid;
quickSort(arr,left,i-1);
quickSort(arr,j+1,right);
}
public static void swap(int[] arr ,int a, int b) {
int temp = arr[a];
arr[a] = arr[b];
arr[b]= temp;
}
public static void printArr(int[] arr) {
System.out.println(StrUtil.join("-", arr));
}
}