惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
S
SegmentFault 最新的问题
博客园 - Franky
博客园_首页
T
Tailwind CSS Blog
雷峰网
雷峰网
罗磊的独立博客

博客园 - Eagle6970

ASP.NET Core实现MCP Streamable HTTP 豆包生成C#微博API HTTP调用实例代码 豆包生成C#即梦API HTTP调用实例代码 SQL Server - sp_spaceused 子网掩码和IP地址范围 [VS Code] Run JavaScript [VS Code] Copy所有包含关键字的行 [数据结构学习笔记25] 归并排序(Merge Sort) [VS Code] 使用dotnet CLI安装和管理NuGet包 [数据结构学习笔记24] 选择排序(Selection Sort) [数据结构学习笔记23] 插入排序(Insertion Sort) [数据结构学习笔记21] 快速排序(Quicksort) [数据结构学习笔记20] 深度优先搜索(DFS)和广度优先搜索(BFS) [数据结构学习笔记19] 二叉树遍历(Binary Tree Traversal) [数据结构学习笔记18] 二分查找(Binary Search) [数据结构学习笔记17] 线性查找(Linear Search) [数据结构学习笔记16] 汉诺塔(Towers of Hanoi) [数据结构学习笔记15] 斐波那契数列(Fibonacci) [数据结构学习笔记14] 递归简介(Recursion)
[数据结构学习笔记22] 冒泡排序(Bubblesort)
Eagle6970 · 2025-02-11 · via 博客园 - Eagle6970

冒泡排序(Bubblesort)是性能比较差的排序方法。

思想,从头开始,依次往后两两比较,如果前面的比后面的大,那么把两元素调换。这样一轮下来,最大的数会到最后面。第二轮类似,结果第二大的数会到倒数第二的位置,然后第三轮,直到排序完成。

举例:

6,2,0,9

第一遍

2,6,0,9

2,0,6,9

第二遍

0,2,6,9

到这里其实已经排序结束

但是冒泡排序还是会从头开始第三遍的比较,确保前面的数列排序正确。

代码(javascript)

function bubbleSort(input) {
  let swapSignal = true;
  while (swapSignal) {
     swapSignal = false;
     for (let i = 0; i < input.length - 1; i++) {
        if (input[i] > input[i + 1]) {
            let temp = input[i];
            input[i] = input[i+1];
            input[i+1] = temp;
            swapSignal = true;
         }
     }
  }    
}

冒泡排序的时间复杂度是n^2。我们要避免使用冒泡排序。