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²)(数组完全逆序)
相关推荐
careathers3 天前
【数据结构】基于比较的排序算法 - 选择排序
数据结构·算法·排序算法
云-缩影3 天前
实际项目中怎么选排序算法:从面试题到工程落地
java·算法·排序算法
旖旎夜光4 天前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
旖旎夜光5 天前
LCR 170:交易逆序对的总数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
揽星河..6 天前
【初阶数据结构】常见的排序算法
数据结构·排序算法·1024程序员节
若亦_6 天前
排序>>选择排序
数据结构·算法·排序算法
careathers7 天前
【数据结构】基于比较的排序算法 - 插入排序
java·数据结构·排序算法
suhan8 天前
【数据结构】七、查找:1.查找的概念、线性结构查找(顺序、折半(二分)、插值、稠密、分块、倒排)
数据结构·算法·排序算法
ZhengEnCi8 天前
一亿条数据取前100条完全指南:从全量排序到分块流式最小堆的4种解法实测
python·算法·排序算法
ZhengEnCi8 天前
内存装不下怎么取 Top 100:外部排序与分布式 Top-K 的实测取舍
分布式·算法·排序算法