21xrx.com
2025-04-09 11:26:14 Wednesday
文章检索 我的文章 写文章
用Java代码对数组进行快速排序
2023-06-16 15:36:34 深夜i     11     0

快速排序是常见的基于比较的排序算法,其时间复杂度为O(nlog(n)),在处理大规模数据时效率较高。在Java中,可以使用Arrays.sort()方法对数组进行快速排序。

以下是使用Java实现快速排序的代码示例:

public static void quickSort(int[] arr, int begin, int end) {
  if (begin < end) {
    int pivot = partition(arr, begin, end);
    quickSort(arr, begin, pivot - 1);
    quickSort(arr, pivot + 1, end);
  }
}
public static int partition(int[] arr, int begin, int end) {
  int pivot = arr[begin];
  int left = begin;
  int right = end;
  while (left < right) {
    while (left < right && arr[right] > pivot)
      right--;
    
    while (left < right && arr[left] <= pivot) {
      left++;
    }
    if (left < right) {
      swap(arr, left, right);
    }
  }
  swap(arr, begin, left);
  return left;
}
public static void swap(int[] arr, int i, int j) {
  int temp = arr[i];
  arr[i] = arr[j];
  arr[j] = temp;
}

该代码实现了快速排序的核心逻辑,使用递归调用快速排序函数即可对整个数组排序。其中,partition函数实现了对数组进行分区,并返回中间点pivot的下标,这是快速排序的核心操作。

本文介绍了使用Java实现快速排序的方法,快速排序算法的时间复杂度较低,适用于处理大规模数据,关键词为Java,排序,数组。

  
  

评论区

请求出错了