package com.liu.util;
public class QuickSort {
private static void quickSort(int[] array, int beg, int end) {
if (beg >= end || array == null)
return;
int p = partition(array, beg, end);
quickSort(array, beg, p - 1);
quickSort(array, p + 1, end);
}
private static int partition(int[] array, int beg, int end) {
int last = array[end];
int i = beg - 1;
for (int j = beg; j <= end - 1; j++) {
if (array[j] <= last) {
i++;
if (i != j) {
exchange(array, i, j);
}
}
}
if ((i + 1) != end) {
exchange(array, i+1, end);
}
return i + 1;
}
private static void exchange(int[] nums, int i, int j){
int tmp = nums[i];
nums[i] = nums[j];
nums[j] = tmp;
}
}
JAVA快速排序
最新推荐文章于 2024-10-16 19:00:00 发布