快速排序是一种常见的排序算法(示例介绍)

2024年12月31日 建站教程

快速排序是一种常用的排序算法。其基本思想是选择一个基准元素,将数组分成两个子数组,一个包含小于基准元素的元素,另一个包含大于基准元素的元素。这个过程递归地进行,直到排序完成。

快速排序示例:

public static void quickSort(int[] arr, int left, int right) {
  if (left >= right) {
    return;
  }
  int pivotIndex = partition(arr, left, right);
  quickSort(arr, left, pivotIndex - 1);
  quickSort(arr, pivotIndex + 1, right);
}

private static int partition(int[] arr, int left, int right) {
  int pivot = arr[right];
  int i = left;
  for (int j = left; j < right; j++) {
    if (arr[j] < pivot) {
      swap(arr, i, j);
      i++;
    }
  }
  swap(arr, i, right);
  return i;
}

private static void swap(int[] arr, int i, int j) {
  int temp = arr[i];
  arr[i] = arr[j];
  arr[j] = temp;
}

本文链接:http://so.lmcjl.com/news/20423/

展开阅读全文
相关内容