当前位置:   article > 正文

Java实现快速排序算法

Java实现快速排序算法

 Java实现快速排序算法

以下是Java中的快速排序算法实现示例:

  1. public class QuickSort {
  2. // 快速排序入口函数
  3. public static void sort(int[] array) {
  4. quickSortRecursive(array, 0, array.length - 1);
  5. }
  6. // 递归函数实现快速排序
  7. private static void quickSortRecursive(int[] array, int left, int right) {
  8. if (left < right) {
  9. int pivotIndex = partition(array, left, right);
  10. quickSortRecursive(array, left, pivotIndex - 1);
  11. quickSortRecursive(array, pivotIndex + 1, right);
  12. }
  13. }
  14. // 划分函数
  15. private static int partition(int[] array, int left, int right) {
  16. int pivot = array[right];
  17. int i = left - 1;
  18. for (int j = left; j < right; j++) {
  19. if (array[j] < pivot) {
  20. i++;
  21. swap(array, i, j);
  22. }
  23. }
  24. swap(array, i + 1, right);
  25. return i + 1;
  26. }
  27. // 交换数组中的两个元素
  28. private static void swap(int[] array, int i, int j) {
  29. int temp = array[i];
  30. array[i] = array[j];
  31. array[j] = temp;
  32. }
  33. // 打印数组元素
  34. public static void printArray(int[] array) {
  35. for (int item : array) {
  36. System.out.print(item + " ");
  37. }
  38. System.out.println();
  39. }
  40. // 测试示例
  41. public static void main(String[] args) {
  42. int[] array = {12, 4, 7, 2, 10, 1, 15, 3, 6, 11};
  43. System.out.println("Original array:");
  44. printArray(array);
  45. sort(array);
  46. System.out.println("Sorted array:");
  47. printArray(array);
  48. }
  49. }

这段代码实现了快速排序算法。在 sort 函数中,我们首先调用 quickSortRecursive 函数来递归地执行快速排序。quickSortRecursive 函数中,我们首先选择一个基准元素(这里选择数组的最后一个元素作为基准),然后根据基准元素将数组分为两部分,左侧部分小于基准,右侧部分大于等于基准。然后再分别对左右两部分递归执行快速排序。

partition 函数负责实现划分步骤,它遍历数组,将小于基准的元素放在左侧,大于等于基准的元素放在右侧,并返回基准的最终位置。

swap 函数用于交换数组中的两个元素。

printArray 函数用于打印数组元素。

main 函数中,我们创建一个示例数组,并调用 sort 函数对其进行排序,然后打印排序后的结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/213716
推荐阅读
相关标签
  

闽ICP备14008679号