一分钟彻底理解JavaScript冒泡排序与选择排序
本篇文章我们来了解一下JavaScript中的冒泡排序与选择排序的相关知识,起泡法每次比较就要立刻交换,而选择排序是把未排序最小的数找出来与它应在的位置上的元素交换。选择排序交换次数较少,一定程度上提高了运算效率。希望对大家有帮助。
JavaScript冒泡排序与选择排序
创新互联是一家集网站建设,浦江企业网站建设,浦江品牌网站建设,网站定制,浦江网站建设报价,网络营销,网络优化,浦江网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。冒泡排序
原理:
比较两个相邻的元素,将值大的元素交换到右边,直到最右边。注意核心是相邻。
思路:
依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。第一轮下来数组中的数会排在最后面。
第二轮:然后数组再剩余的数中从第一个数依次比较相邻的数,将的数排在最后面。
重复步骤,直到排序完成。
注意:到倒数第二轮完时,最后一轮还剩一个数,肯定是最小的,所以不用排序。即就是只用排序 数组的长度减一(arr.length-1)轮
算法可视化:
代码如下:
结果如下:
选择排序
思路:
假设数组第一个位置的数最小,然后与后面的每一个数进行比较,只要找到更小的就交换值对应的下标,注意是下标。第一轮找一遍之后可以锁定到最小值的位置了(就是找到了下标)然后就交换值。
第二轮假设第二个位置的数最小,这时候不用管数组第一个值(因为第一轮找到已经是最小的了)然后与后面最小值交换下标,锁定后再交换值。
重复步骤,直到排序完成。
注意:到倒数第二轮完时,最后一轮还剩一个数,肯定是比前面的数都还大,所以不用排序。即就是只用排序 数组的长度减一(arr.length-1)轮
算法可视化:
代码如下:
没有封装,大家可以自己封装一下
结果如下:
相关视频教程推荐:jQuery视频教程
分享名称:一分钟彻底理解JavaScript冒泡排序与选择排序
当前路径:http://scyanting.com/article/cjgchc.html