阅读 101

冒泡排序(BubbleSort)

冒泡排序简介

算法如其名,就是让较小的元素像气泡一样向上浮,慢慢的冒出来。最终实现较小的元素在前,较大的元素在后。

冒泡排序的算法思想

循环数组中每个元素,依次比较当前元素与下一个元素,如果顺序错误(正序或倒序)就交换,直到没有元素交换,则完成当前元素的比较。

若对n个元素进行比较,一共需要n-1次比较,当进行到第k次比较则需进行n-k次比较。因此总的比较次数为:(n-1)+(n-2)+...+1 = n*(n-1)/2,时间复杂度为O(n^2)

冒泡排序图解

图片来自 https://www.itcast.cn/news/20191120/14135329023.shtml

执行算法前

20191120140802787.jpg

执行算法后

20191120140844584.jpg

执行过程

20191120141001101.gif

代码实现(JS)

var arr = [3, 43, 38, 5, 47, 15, 36, 26, 27, 2, 44, 4, 50, 19, 38] function BubbleSort(arr) {   var n = arr.length   for (var i = 0; i < n; i++) {     for (var j = 0; j < n - i - 1; j++) {       if (arr[j + 1] < arr[j]) {         [arr[j + 1], arr[j]] = [arr[j], arr[j + 1]]       }     }   } } BubbleSort(arr) console.log(arr) // [2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 38, 43, 44, 47, 50]


作者:味精王
链接:https://juejin.cn/post/7025230934408445982


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐