21xrx.com
2024-11-22 10:32:56 Friday
登录
文章检索 我的文章 写文章
Java实现快速排序算法
2023-06-17 17:44:46 深夜i     --     --
Java 快速排序 算法

快速排序算法是一种常用的排序方法,也是Java语言中常用的排序算法之一。该算法的时间复杂度为O(nlogn),并且是一个原地排序算法,不需要额外的空间。在Java中,我们可以使用递归的方式来实现快速排序算法。

具体实现过程如下:

1. 首先选择一个基准元素pivot,通常可以选择第一个元素、最后一个元素或者数组的中间元素作为基准元素。

2. 将数组中小于基准元素的数放到左边,大于基准元素的数放到右边。

3. 对左右两侧的子数组进行递归操作,直到排序完成。

下面是Java实现快速排序算法的代码:


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

  if (left >= right)

    return;

  

  int pivot = arr[left];

  int i = left + 1;

  int j = right;

  while (i <= j) {

    while (i <= j && arr[i] < pivot) {

      i++;

    }

    while (i <= j && arr[j] > pivot)

      j--;

    

    if (i <= j) {

      swap(arr, i, j);

      i++;

      j--;

    }

  }

  swap(arr, left, j);

  quickSort(arr, left, j - 1);

  quickSort(arr, j + 1, right);

}

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

  int temp = arr[i];

  arr[i] = arr[j];

  arr[j] = temp;

}

  
  

评论区

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