首页 科技 > 内容

📚✨八大排序之快速排序(java实现)✨📚

时间:2025-03-18 10:04:41 来源:
导读 排序算法是编程中的基础知识点,而快速排序(Quick Sort)作为其中的佼佼者,以其高效和简洁著称。今天就用Java来实现这一经典算法吧!🎉...

排序算法是编程中的基础知识点,而快速排序(Quick Sort)作为其中的佼佼者,以其高效和简洁著称。今天就用Java来实现这一经典算法吧!🎉

快速排序的核心思想是分治法,通过一个基准值将数组分为左右两部分,左边比基准值小,右边比基准值大,然后递归地对这两部分进行排序。🌟

首先定义`partition`函数,用于确定基准值的位置并完成数组的分区操作。接着,在主函数中调用递归方法完成整个数组的排序。👇

以下是代码示例:

```java

public class QuickSort {

public static void sort(int[] arr, int left, int right) {

if (left < right) {

int pivot = partition(arr, left, right);

sort(arr, left, pivot - 1);

sort(arr, pivot + 1, right);

}

}

private static int partition(int[] arr, int left, int right) {

int pivot = arr[right];

int i = left - 1;

for (int j = left; j < right; j++) {

if (arr[j] <= pivot) {

i++;

swap(arr, i, j);

}

}

swap(arr, i + 1, right);

return i + 1;

}

private static void swap(int[] arr, int i, int j) {

int temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

```

快速排序的时间复杂度平均为O(n log n),但在最坏情况下退化为O(n²)。因此,选择合适的基准值非常重要!💪

掌握快速排序后,你会发现它不仅实用,而且充满智慧的魅力!🚀

标签: