复制
收藏
提问
简洁
写一个Java排序代码
0秒前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
快速排序Java实现
快速排序是一种高效的排序算法,其基本思想是通过一个基准值将数组分为两部分,一部分的元素都比基准值小,另一部分的元素都比基准值大,然后对这两部分继续进行排序。
public class QuickSort {
public static void quickSort(int[] array, int low, int high) {
if (low < high) {
int pivotIndex = partition(array, low, high);
quickSort(array, low, pivotIndex - 1);
quickSort(array, pivotIndex + 1, high);
}
}
private static int partition(int[] array, int low, int high) {
int pivot = array[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (array[j] < pivot) {
i++;
// 交换 array[i] 和 array[j]
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
// 交换 pivot 到它最终的位置
int temp = array[i + 1];
array[i + 1] = array[high];
array[high] = temp;
return i + 1;
}
public static void main(String[] args) {
int[] array = {10, 7, 8, 9, 1, 5};
quickSort(array, 0, array.length - 1);
for (int value : array) {
System.out.print(value + " ");
}
}
}
这段代码实现了快速排序算法,其中quickSort
方法负责递归地对数组进行排序,partition
方法用于找到基准值的最终位置并进行数组的划分。在main
方法中,我们创建了一个示例数组并调用quickSort
方法进行排序,最后打印排序后的数组。2346
你觉得结果怎么样?