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]) {

// 交换元素位置

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

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

}

}

时间复杂度

  • 最佳情况‌:O(n)(数组已排序)
  • 平均情况/最坏情况‌:O(n²)(数组完全逆序)
相关推荐
WL_Aurora9 小时前
Python 算法基础篇之排序算法(一):冒泡、选择、插入
python·算法·排序算法
夏日听雨眠10 小时前
排序(选择排序 ,冒泡排序,归并排序)
数据结构·算法·排序算法
RH23121112 小时前
2026.5.17数据结构 八大排序
数据结构·算法·排序算法
夏日听雨眠12 小时前
排序(直接插入排序,希尔排序)
数据结构·算法·排序算法
sheeta19981 天前
LeetCode 每日一题笔记 日期:2026.05.19 题目:2540. 最小公共值
笔记·leetcode·排序算法
qeen871 天前
【算法笔记】各种常见排序算法详细解析(下)
c语言·数据结构·c++·笔记·学习·算法·排序算法
承渊政道1 天前
【贪心算法】(经典实战应用解析(五):单调递增的数字、坏了的计算器、合并区间、⽆重叠区间、⽤最少数量的箭引爆⽓球)
数据结构·c++·leetcode·贪心算法·排序算法·动态规划·哈希算法
代码中介商2 天前
排序算法完全指南(一):冒泡排序深度详解
算法·排序算法
历程里程碑2 天前
53 多路转接select
linux·开发语言·数据结构·数据库·c++·sql·排序算法
流年如夢3 天前
排序算法详解
数据结构·算法·排序算法