java怎么将数组里的数排序

java数组排序方法有:冒泡排序:比较相邻元素、交换较大元素至后方选择排序:找到最小元素、交换至数组头快速排序:选择基准点、划分数组、递归排序

java怎么将数组里的数排序

如何使用 Java 对数组中的数字进行排序?

方法:

1. 冒泡排序

  • 遍历整个数组,将每个元素与相邻元素进行比较。
  • 如果元素大于相邻元素,则交换它们。
  • 重复上述步骤,直到数组中所有元素都按升序排列

代码:

public static void bubbleSort(int[] arr) {
  for (int i = 0; i < arr.length - 1; i++) {
    for (int j = i + 1; j < arr.length; j++) {
      if (arr[i] > arr[j]) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
      }
    }
  }
}

2. 选择排序

  • 找出数组中尚未排序部分的最小元素。
  • 将该最小元素与数组开头未排序的元素交换。
  • 重复上述步骤,直到数组中所有元素都按升序排列

代码:

public static void selectionSort(int[] arr) {
  for (int i = 0; i < arr.length - 1; i++) {
    int minIndex = i;
    for (int j = i + 1; j < arr.length; j++) {
      if (arr[j] < arr[minIndex]) {
        minIndex = j;
      }
    }
    int temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
  }
}

3. 快速排序(递归)

  • 选择一个基准点。
  • 将数组划分为比基准点小和大的两个部分。
  • 递归地对每个部分进行排序。

代码:

public static void quickSort(int[] arr, int low, int high) {
  if (low < high) {
    int partitionIndex = partition(arr, low, high);

    quickSort(arr, low, partitionIndex - 1);
    quickSort(arr, partitionIndex + 1, high);
  }
}

private static int partition(int[] arr, int low, int high) {
  int pivot = arr[high];
  int i = low - 1;

  for (int j = low; j < high; j++) {
    if (arr[j] < pivot) {
      i++;

      int temp = arr[i];
      arr[i] = arr[j];
      arr[j] = temp;
    }
  }

  int temp = arr[i + 1];
  arr[i + 1] = arr[high];
  arr[high] = temp;

  return i + 1;
}

以上就是java怎么将数组里的数排序的详细内容,更多请关注硕下网其它相关文章!