21xrx.com
2024-12-23 00:21:44 Monday
登录
文章检索 我的文章 写文章
Java实现快速排序算法代码实例分析
2023-06-14 21:00:31 深夜i     --     --
Java 快速排序 算法

Java是一种广泛使用的编程语言,而快速排序算法是经典的排序算法之一。本文将分析如何使用Java实现快速排序算法,并提供代码实例。

快速排序算法是一种基于比较的排序算法,其核心思想是通过分治法来实现排序。具体来说,就是选取一个基准值,将待排序的序列分为两个部分,然后对这两个部分再进行递归排序,直到分出的序列长度为1,排序完成。

Java实现快速排序算法需要考虑以下几个步骤:

1. 选择基准值:可以选择序列中的第一个或者随机选择一个值作为基准值。

2. 分割序列:将序列分为左右两个部分,使得左半部分的元素都小于等于基准值,右半部分的元素都大于等于基准值。

3. 递归排序:对左半部分和右半部分分别递归进行快速排序。

4. 合并序列:将排好序的左半部分、基准值和排好序的右半部分合并成一个有序序列。

实现代码如下:


public class QuickSort {

  public static void quickSort(int[] arr, int start, int end) {

    if (start < end) {

      int i = start, j = end, pivot = arr[start];

      while (i < j) {

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

          j--;

        

        if (i < j) {

          arr[i++] = arr[j];

        }

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

          i++;

        }

        if (i < j) {

          arr[j--] = arr[i];

        }

      }

      arr[i] = pivot;

      quickSort(arr, start, i - 1);

      quickSort(arr, i + 1, end);

    }

  }

  public static void main(String[] args) {

    int[] arr = {3, 5, 1, 6, 8, 4, 7, 2};

    quickSort(arr, 0, arr.length - 1);

    for (int i : arr) {

      System.out.print(i + " ");

    }

  }

}

以上就是Java实现快速排序算法的代码实例。

  
  

评论区

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