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²)(数组完全逆序)
相关推荐
玄鱼殇1 天前
前端排序算法
算法·排序算法
Remember_9932 天前
【数据结构】深入理解排序算法:从基础原理到高级应用
java·开发语言·数据结构·算法·spring·leetcode·排序算法
杨间2 天前
《排序算法全解析:从基础到优化,一文吃透八大排序!》
c语言·数据结构·排序算法
haoly19893 天前
数据结构与算法篇-排序算法-统一视角
排序算法·分治和策略
早川9194 天前
9种常用排序算法总结
数据结构·算法·排序算法
deng12044 天前
【排序算法总结(1)】
java·算法·排序算法
小北方城市网5 天前
Spring Security 认证授权实战(JWT 版):从基础配置到权限精细化控制
java·运维·python·微服务·排序算法·数据库架构
im_AMBER6 天前
数据结构 18 【复习】广义表 | 各种内部排序 | 二叉排序树的平均查找长度 ASL
数据结构·笔记·学习·排序算法
leaves falling6 天前
冒泡排序(基础版+通用版)
数据结构·算法·排序算法
Pluchon7 天前
硅基计划4.0 算法 优先级队列
数据结构·算法·排序算法