21xrx.com
2024-11-05 20:45:37 Tuesday
登录
文章检索 我的文章 写文章
Java快速排序算法实现
2023-06-15 17:06:14 深夜i     --     --
Java 快速排序 算法

快速排序算法是一种高效的排序算法,使用了分治的思想,实现起来比较简单。在Java中,也有很多种实现快速排序算法的方式,下面给出一种常用的实现方式。

首先定义一个快速排序的方法,该方法接收一个整型数组作为参数并对其进行排序。在排序方法中,我们先确定一个中轴值,将数组中小于中轴值的元素放在左边,大于中轴值的元素放在右边。然后分别对左边和右边的子数组进行排序,最终得到一个有序的数组。

快速排序算法的代码实现如下:


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

  if (left < right) {

    int pivot = partition(arr, left, right); // 获取分区点

    quickSort(arr, left, pivot - 1); // 对左边子数组排序

    quickSort(arr, pivot + 1, right); // 对右边子数组排序

  }

}

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

  int pivot = arr[left]; // 以第一个元素作为中轴值

  while (left < right) {

    while (left < right && arr[right] >= pivot)

      right--;

    

    arr[left] = arr[right];

    while (left < right && arr[left] <= pivot) {

      left++;

    }

    arr[right] = arr[left];

  }

  arr[left] = pivot;

  return left;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复