21xrx.com
2024-11-22 06:26:31 Friday
登录
文章检索 我的文章 写文章
我最近在学习Java排序算法的实现
2023-06-11 00:07:19 深夜i     --     --
冒泡排序 选择排序 插入排序

我最近在学习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排序算法实现,三种

  
  

评论区

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