21xrx.com
2024-12-23 12:37:15 Monday
登录
文章检索 我的文章 写文章
用Java代码对数组进行快速排序
2023-06-16 15:36:34 深夜i     --     --

快速排序是常见的基于比较的排序算法,其时间复杂度为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,排序,数组。

  
  

评论区

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