算法介绍
步骤:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对第0个到第n-1个数据做同样的工作。这时,最大的数就“浮”到了数组最后的位置上。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
可视化效果:这里
Javascript实现
1 |
|
总结
- 稳定。相同元素排序后能保持排序前的相对顺序。
- 原地排序。
- 时间复杂度为:平方级别。
- 空间复杂度为:常数级别。
GitHub:https://github.com/AlbertKnag/algs-practice
下一篇:排序算法02:选择排序