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快速排序
最新推荐文章于 2023-05-06 18:38:36 发布
本文介绍了一个简单的快速排序算法实现,该算法通过递归的方式对数组进行排序。文章中提供了关键的 partition 函数实现细节,该函数负责将数组分为两部分,并确保左边元素不大于基准值,右边元素不小于基准值。

1709

被折叠的 条评论
为什么被折叠?



