javascript排序算法整理

Posted 嘻嘻哈哈biubiubiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript排序算法整理相关的知识,希望对你有一定的参考价值。

前端面试中必不可少的技能

/** 
 * 高效率冒泡排序
 * 外层for循环控制循环次数
 * 内层for循环负责相邻两数交换位置,找到最大数,排到最后
 * 设置done标志位,减少不必要循环
*/
var arr = [1, 3, 4, 90, 8, 49, 0];
var max = arr.length - 1;
for (var j = 0; j < max; j++) {
    var done = true;
    // 这里可以根据外层的j 逐渐减少内层遍历        
    // 因为每次遍历置于最后的元素  不需要在参加遍历 [1, 3, 4, 0, 8, 49, 90]
    for (var i = 0; i < max - j; i++) {
        if (arr[i] > arr[i + 1]) {
            var temp = arr[i];
            arr[i] = arr[i + 1];
            arr[i + 1] = temp;
            done = false;
        }
    }
    if (done) {
        break;
    }
}

以上是关于javascript排序算法整理的主要内容,如果未能解决你的问题,请参考以下文章

花一个晚上时间整理,十大经典排序算法(Python版本),拿起就用

带你整理面试过程中常考的九大排序算法

算法:常用排序算法

各种排序算法整理(附带习题及代码)

排序算法整理(啊哈算法)

内排序算法的整理