一分钟彻底理解JavaScript冒泡排序与选择排序

WBOY
发布: 2021-12-16 18:49:33
转载
2372 人浏览过

本篇文章我们来了解一下JavaScript中的冒泡排序与选择排序的相关知识,起泡法每次比较就要立刻交换,而选择排序是把未排序最小的数找出来与它应在的位置上的元素交换。选择排序交换次数较少,一定程度上提高了运算效率。希望对大家有帮助。

一分钟彻底理解JavaScript冒泡排序与选择排序

JavaScript冒泡排序与选择排序

冒泡排序

  • 原理:

比较两个相邻的元素,将值大的元素交换到右边,直到最右边。注意核心是相邻。

  • 思路:

依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。第一轮下来数组中最大的数会排在最后面。

第二轮:然后数组再剩余的数中从第一个数依次比较相邻的数,将最大的数排在最后面。

重复步骤,直到排序完成。

注意:到倒数第二轮完时,最后一轮还剩一个数,肯定是最小的,所以不用排序。即就是只用排序 数组的长度减一(arr.length-1)轮

算法可视化:

+1.gif

代码如下:

登录后复制

结果如下:

25.png

选择排序

  • 思路:

假设数组第一个位置的数最小,然后与后面的每一个数进行比较,只要找到更小的就交换值对应的下标,注意是下标。第一轮找一遍之后可以锁定到最小值的位置了(就是找到了下标)然后就交换值。

第二轮假设第二个位置的数最小,这时候不用管数组第一个值(因为第一轮找到已经是最小的了)然后与后面最小值交换下标,锁定后再交换值。

重复步骤,直到排序完成。

注意:到倒数第二轮完时,最后一轮还剩一个数,肯定是比前面的数都还大,所以不用排序。即就是只用排序 数组的长度减一(arr.length-1)轮

算法可视化:

+2.gif

代码如下:

没有封装,大家可以自己封装一下

登录后复制

结果如下:

26.png

相关视频教程推荐:jQuery视频教程

以上是一分钟彻底理解JavaScript冒泡排序与选择排序的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:csdn.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!