JavaScript中的冒泡排序与选择排序。
今天我们来说说在JavaScript中运用的排序算法,想必学过计算机的小伙伴都知道我们的冒泡排序与选择排序,但是在前端的实际项目中再试没有它们的场景。学习它主要是掌握所谓的算法中核心内容。下面我就来简单的说一说
首先是我们的冒泡排序,其原理就五个字——最大值沉底,详细来说就是相邻的两个单位比较存储的数据,如果第一个单元的数据较大,就将两个单元的数据进行交换,以此类推,每一次循环选出一个最大的数据放在参与比较单元的最后;之前以及比较选出的单元就不会参与下次比较。
下面来简单敲下代码:
外层循环:每次循环将一个最大值放在末尾,
内层循环:进行相邻两个单元比较循环。
为了减少数据循环比较,下面小编进行简单的优化。
1.(-1)循环执行排序操作循环次数是数组单元个数;
2.(-1)本次循环的最后一个单元,通过倒数第二单元,参与比较不参与循环;
3.(-j)上一次比较的数值,不参与下一次循环。
选择排序:从起始位置开始,找最小的数值所在的索引下标,如果最小数值存储的索引下标,不是起始位置,就与起始位置进行交换数据。其核心就是执行一次循环,将最小值存储在起始位置上。
简单看下代码:
外层循环:实现循环次数。
内层循环:每次循环,将本次循环找出来的最小值,与起始位置进行数据交换。
小编本次带来的排序算法就到此结束了。逆战班加油!