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, 22}; System.out.println("快速排序前:" + Arrays.toString(N)); quickSort(N, 0, N.length - 1); System.out.println("快速排序后:" + Arrays.toString(N)); } }
快速排序的简单实现
最新推荐文章于 2024-05-25 15:56:40 发布