21xrx.com
2025-03-14 16:53:16 Friday
文章检索 我的文章 写文章
我最近在学习Java排序算法的实现
2023-06-11 00:07:19 深夜i     12     0
冒泡排序 选择排序 插入排序

我最近在学习Java排序算法的实现。Java提供了许多内置的排序算法,但是我想深入了解它们背后的实现原理。在我的研究中,我发现了一些非常有用的信息,我想在这里和大家分享。

首先,让我来谈谈Java中常见的三种排序算法:冒泡排序,选择排序和插入排序。

冒泡排序算法

冒泡排序是一种简单的排序算法,其原理是比较相邻的两个元素,如果它们的顺序错误就交换它们,直到没有任何需要交换的元素。

下面是我用Java实现的一个冒泡排序算法:

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

选择排序算法

选择排序是一种简单的排序算法,其原理是通过不断选择数组中最小的元素,将它们插入到数组的前面。

下面是我用Java实现的一个选择排序算法:

public static void selectionSort(int[] arr) {
  int n = arr.length;
  for (int i = 0; i < n-1; i++)
  {
    int min_idx = i;
    for (int j = i+1; j < n; j++)
      if (arr[j] < arr[min_idx])
        min_idx = j;
    // 交换 arr[min_idx] 和 arr[i]
    int temp = arr[min_idx];
    arr[min_idx] = arr[i];
    arr[i] = temp;
  }
}

插入排序算法

插入排序是一种简单的排序算法,其原理是将数组分为已排序和未排序两部分,每次将未排序的元素插入到已排序的合适位置。

下面是我用Java实现的一个插入排序算法:

public static void insertionSort(int[] arr) {
  int n = arr.length;
  for (int i = 1; i < n; ++i) {
    int key = arr[i];
    int j = i - 1;
    while (j >= 0 && arr[j] > key) {
      arr[j + 1] = arr[j];
      j = j - 1;
    }
    arr[j + 1] = key;
  }
}

通过这些实现代码,我更深入地了解了Java排序算法,并且我相信这些知识对我的未来编程实践非常有帮助。

Java排序算法实现,三种

  
  

评论区