21xrx.com
2025-03-17 00:59:53 Monday
文章检索 我的文章 写文章
Java排序算法详解及代码示例
2023-06-10 11:52:03 深夜i     17     0
Java 排序算法 CSDN

我最近在学习Java的排序算法,下面分享一下我学习到的一些经验和代码例子。

首先提到排序算法,我们需要先了解排序算法的时间复杂度。以下是常见排序算法的时间复杂度:

- 冒泡排序:O(n^2)

- 选择排序:O(n^2)

- 插入排序:O(n^2)

- 快速排序:O(nlogn)

- 归并排序:O(nlogn)

- 堆排序:O(nlogn)

其中最优的是O(nlogn),最差的是O(n^2)。

接下来,我分享一下Java中的常见排序算法的代码实现。下面的代码是冒泡排序的示例:

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

上面的代码中,我们用了两个for循环,外层循环控制排序次数,内层循环控制每一趟排序时两两比较交换。可以发现,这个算法的时间复杂度是O(n^2)。

最后,给大家推荐一个学习Java排序算法的好地方,那就是CSDN。在CSDN上,有很多Java排序算法的代码实现和详细解释,可以帮助我们更快更好地学习算法。

  
  

评论区