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²)(数组完全逆序)
相关推荐
程序员爱钓鱼9 小时前
Go 操作 Windows COM 自动化实战:深入解析 go-ole
后端·go·排序算法
是希燃亚5 天前
📚 十大经典排序算法 C语言笔记(一看就会版)
排序算法
2501_924878737 天前
AI如何打通前端、后端、UI、SEO、文档等12类办公链路?
逻辑回归·排序算法
历程里程碑7 天前
26信号处理一:从闹钟到进程控制的奥秘
linux·运维·服务器·开发语言·c++·算法·排序算法
载数而行5207 天前
算法系列4之插入排序
数据结构·c++·算法·排序算法
载数而行5207 天前
算法系列5之交换排序
c语言·数据结构·c++·算法·排序算法
程序员南飞7 天前
算法笔试-求一个字符串的所有子串
java·开发语言·数据结构·python·算法·排序算法
瓦特what?7 天前
平 滑 排 序
c++·算法·排序算法
瓦特what?8 天前
波 浪 排 序
c++·算法·排序算法
程序员南飞8 天前
排序算法举例
java·开发语言·数据结构·python·算法·排序算法