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 (arrj > arrj + 1) {

// 交换元素位置

int temp = arrj;

arrj = arrj + 1;

arrj + 1 = temp;

}

}

System.out.println("第" + (i + 1) + "趟:" + Arrays.toString(arr));

}

}

时间复杂度

  • 最佳情况‌:O(n)(数组已排序)
  • 平均情况/最坏情况‌:O(n²)(数组完全逆序)
相关推荐
王老师青少年编程19 小时前
csp信奥赛C++高频考点专项训练:【排序算法】案例1:三位数排序
c++·排序算法·csp·高频考点·信奥赛·三位数排序
肖志-AI全栈19 小时前
JavaScript 快速排序:从 pivot、双指针到分治思想
开发语言·javascript·排序算法
微露清风21 小时前
快速排序算法学习记录
学习·算法·排序算法
危桥带雨2 天前
排序算法(快排、归并、计数、基数排序)
数据结构·算法·排序算法
长不胖的路人甲2 天前
选择排序 Java 实现 + 完整思路解析
java·算法·排序算法
en.en..6 天前
冒泡排序与选择排序完整对比解析
开发语言·数据结构·算法·c#·排序算法
dsyyyyy11017 天前
用JavaScript实现排序算法
开发语言·javascript·排序算法
闪电悠米7 天前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
玖玥拾8 天前
C++ 数据结构 八大基础排序算法专题
数据结构·c++·算法·排序算法
:-)9 天前
算法-归并排序
java·开发语言·数据结构·算法·排序算法