21xrx.com
2024-11-22 12:39:10 Friday
登录
文章检索 我的文章 写文章
如何用Java实现常见排序算法?
2023-06-17 19:25:52 深夜i     --     --
Java 排序算法 快速排序

排序算法是计算机科学中的重要概念,它将一组数据按照一定的规则进行排序。

在Java中实现排序算法非常简单,Java标准库中提供了 Arrays.sort() 方法可以实现快速排序,同时还提供了 Comparator 接口可以自定义排序规则。除此之外,我们还可以手动实现各种排序算法,如冒泡排序、选择排序、插入排序、希尔排序、归并排序和堆排序等。

下面是 Java 中实现快速排序的代码:


import java.util.Arrays;

public class QuickSortExample {

  public static void main(String[] args) {

    int[] arr = 9;

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

    System.out.println(Arrays.toString(arr));

  }

  public static void quickSort(int[] arr, int left, int right) {

    if (left < right) {

      int partitionIndex = partition(arr, left, right);

      quickSort(arr, left, partitionIndex - 1);

      quickSort(arr, partitionIndex + 1, right);

    }

  }

  private static int partition(int[] arr, int left, int right) {

    int pivot = left; // 选择第一个数作为基准值

    int index = pivot + 1;

    for (int i = index; i <= right; i++) {

      if (arr[i] < arr[pivot]) {

        swap(arr, i, index);

        index++;

      }

    }

    swap(arr, pivot, index - 1);

    return index - 1;

  }

  private static void swap(int[] arr, int i, int j) {

    int temp = arr[i];

    arr[i] = arr[j];

    arr[j] = temp;

  }

}

  
  

评论区

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