21xrx.com
2025-04-20 17:00:17 Sunday
文章检索 我的文章 写文章
Java实现快速排序算法
2023-06-15 15:23:39 深夜i     15     0
Java 快速排序算法 代码实例

快速排序算法是一种高效的排序算法,在大数据排序中被广泛使用。本文将介绍如何使用Java语言来实现快速排序算法。

快速排序算法的基本思想是:从待排序列中任选一个元素作为基准值,将小于基准值的元素放在基准值的左侧,将大于基准值的元素放在基准值的右侧,然后递归地对左侧和右侧进行排序,直到整个序列有序。

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

class QuickSort {
  public static void sort(int[] arr, int left, int right) {
    if (left < right) {
      int pivot = partition(arr, left, right);
      sort(arr, left, pivot - 1);
      sort(arr, pivot + 1, right);
    }
  }
  private static int partition(int[] arr, int left, int right) {
    int pivot = arr[left];
    while (left < right) {
      while (left < right && arr[right] >= pivot)
        right--;
      
      arr[left] = arr[right];
      while (left < right && arr[left] <= pivot) {
        left++;
      }
      arr[right] = arr[left];
    }
    arr[left] = pivot;
    return left;
  }
}
public class Main {
  public static void main(String[] args) {
    int[] arr = 2;
    QuickSort.sort(arr, 0, arr.length - 1);
    for (int i : arr) {
      System.out.print(i + " ");
    }
  }
}

代码说明:sort方法是快速排序的主方法,partition方法是快速排序的分区方法。在sort方法中,首先判断当前分区是否有元素,如果分区内有元素,则调用partition方法进行分区,并递归调用sort方法对分区的左右两侧再次执行排序。在partition方法中,首先将最左边的元素作为基准值,通过不断的交换左右两侧的元素,将小于基准值的元素放在基准值的左侧,大于基准值的元素放在基准值的右侧。最后返回基准值的位置。

  
  

评论区