21xrx.com
2024-11-08 23:27:51 Friday
登录
文章检索 我的文章 写文章
Java 数组排序:细节与示例
2023-06-14 21:49:09 深夜i     --     --
Java 数组排序 排序算法

在 Java 中,对数组进行排序是非常常见的操作。本文将详细介绍如何使用 Java 自带的 Arrays 类以及自己实现排序算法来对数组进行排序,包括常见的排序算法(冒泡排序、快速排序、归并排序等)。我们将讨论排序算法的时间复杂度和最佳场景等,以帮助你了解何时选择哪个算法以及如何优化代码。

示例:


import java.util.Arrays;

public class ArraySortDemo {

  public static void main(String[] args) {

    int[] arr = 8;

    // 使用 Arrays.sort() 方法进行排序,默认升序

    Arrays.sort(arr);

    System.out.println("Arrays.sort() 升序排序后的数组:" + Arrays.toString(arr));

    // 使用自己实现的选择排序算法进行排序,默认升序

    selectionSort(arr);

    System.out.println("选择排序升序排序后的数组:" + Arrays.toString(arr));

  }

  /**

   * 选择排序算法

   */

  public static void selectionSort(int[] arr) {

    for (int i = 0; i < arr.length - 1; i++) {

      // 每次循环假设第 i 个为最小值

      int minIndex = i;

      for (int j = i + 1; j < arr.length; j++) {

        // 从第 i+1 个开始,找到最小值的下标

        if (arr[j] < arr[minIndex])

          minIndex = j;

        

      }

      if (i != minIndex) {

        // 如果 i 不是最小值,交换 i 和最小值

        int temp = arr[i];

        arr[i] = arr[minIndex];

        arr[minIndex] = temp;

      }

    }

  }

}

  
  

评论区

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