21xrx.com
2025-04-03 02:03:28 Thursday
文章检索 我的文章 写文章
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;
}

  
  

评论区