package test;
import java.util.Arrays;
import java.util.Scanner;
public class Test{
static Scanner sc = new Scanner(System.in);
static String line;
static int n = 8;
static int[] arr = {2,1,4,7,8,6,5,3};
static void QuickSort(int[] arr){
Qsort(0, arr.length-1);
}
static void Qsort(int low, int high){
if(low<high){
int mid = partition(low,high);//找到分界点
Qsort(low,mid-1);
Qsort(mid+1,high);
}
}
private static int partition(int start, int end) {
int temp = arr[start];
while(start<end){
while(end>start && arr[end]>=temp) --end;//找到比标志要小的数,换位
arr[start] = arr[end];
while(end>start && arr[start]<=temp) ++start;//找到比标志要大的数,换位
arr[end] = arr[start];
}
arr[start] = temp;
return start;
}
public static void main(String[] args) {
QuickSort(arr);
System.out.println(Arrays.toString(arr));
}
}
快速排序java实现

最新推荐文章于 2025-07-09 10:35:31 发布