import java.util.Arrays;
public class Solution {
/*划分*/
public static int partition(int[] array, int left, int right) {
int pivot = array[left];
while (left < right) {
while (left < right && array[right] >= pivot) {
right--;
}
array[left] = array[right];
while (left < right && array[left] <= pivot) {
left++;
}
array[right] = array[left];
}
array[left] = pivot;
return left;
}
public static void quickSort(int[] array, int left, int right) {
if (left > right) {
return;
}
if (left < right) {
int pivot = partition(array, left, right);
quickSort(array, left, pivot - 1);
quickSort(array, pivot + 1, right);
}
}
/*测试*/
public static void main(String[] args) {
int[] N = {1, 24, 5, 32, 50, 34, 54, 76, 1,22};
System.out.println("快速排序前:" + Arrays.toString(N));
quickSort(N, 0, N.length - 1);
System.out.println("快速排序后:" + Arrays.toString(N));
}
}
【java】快速排序的简单实现
于 2022-09-11 22:46:11 首次发布