这篇文章给大家分享的是JavaScript冒泡排序的相关内容,很多朋友对于JavaScript冒泡排序不是很理解,对此这篇给大家讲讲JavaScript冒泡排序的实现及实现原因,对大家学习冒泡排序有一定的参考价值,有需要的朋友可以了解看看,接下来就跟随小编一起学习一下吧。
冒泡排序
原理:
比较两个相邻的元素,将值大的元素交换到右边,直到最右边。注意核心是相邻。
思路:
依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。第一轮下来数组中最大的数会排在最后面。
第二轮:然后数组再剩余的数中从第一个数依次比较相邻的数,将最大的数排在最后面。
重复步骤,直到排序完成。
注意:到倒数第二轮完时,最后一轮还剩一个数,肯定是最小的,所以不用排序。即就是只用排序 数组的长度减一(arr.length-1)轮
算法可视化:
代码如下:
<script> function ismaopao(arr) { //控制比较轮数 for (var i = 0; i < arr.length - 1; i++) { //冒泡排序,两两交换,从头开始做比较(大数下沉) for (var j = 0; j < arr.length - 1 - i; j++) { //arr.length-1-i,因为前面的判断已经找到最大的值,就不需要与找到的大数做比较了 if (arr[j] > arr[j + 1]) { var a; a = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = a; } } } return arr; } console.log(ismaopao([6, 3, 4, 5, 2, 1])) </script>
结果如下:
现在大家对于JavaScript冒泡排序的实现和原理应该都有所了解了吧,希望大家阅读完这篇文章能有所收获,本文示例有一定的参考价值。最后,想要了解更多冒泡排序的内容,大家可以关注群英网络其它相关文章。
文本转载自PHP中文网
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理