21xrx.com
2025-06-23 02:50:38 Monday
文章检索 我的文章 写文章
Java 数组排序:细节与示例
2023-06-14 21:49:09 深夜i     16     0
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;
      }
    }
  }
}

  
  

评论区