21xrx.com
2024-12-27 19:49:49 Friday
登录
文章检索 我的文章 写文章
Java排序算法详解及代码示例
2023-06-10 11:52:03 深夜i     --     --
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排序算法的代码实现和详细解释,可以帮助我们更快更好地学习算法。

  
  

评论区

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