美文网首页
js 排序算法

js 排序算法

作者: _不能说的秘密i | 来源:发表于2019-03-12 18:33 被阅读0次

冒泡排序

function bubbleSort (data)  {
    // 控制循环轮数
    for (var i=0; i<=data.length; i++) {
        for(var j=0; j<=data.length-i; j++) {
            // 每一轮都比较当前这一轮数组中前后两个元素的大小
            if (data[j] > data[j+1]) {
                // 如果前一个值大于后一个值,则将两个值调换位置
                var temp = data[j];
                data[j] = data[j+1];
                data[j+1] = temp;
            }
        }
    }
}

快速排序

function quickSort(data) {
    if(data.length <= 1) {
        return data;
    }

    // 取数组中间的一个值
    var middleIndex = Math.floor(data.length / 2);
    var middleValue = data.splice(middleIndex, 1)[0];

    // 分别定义大于这个值和小于这个值的数组
    var left = [], right = [];
    for (var i=0; i<data.length; i++) {
        // 小于中间值放到左边, 大于中间值放到右边
        if (data[i] < middleValue) {
            left.push(data[i]);
        } else {
            right.push(data[i]);
        }
    }

    // 递归排序 left,right 两个数组,然后链接三个值
    return quickSort(left).concat([middleValue], quickSort(right));
}

相关文章

  • 排序算法

    JS里排序算法的写法:

  • JS中可能用得到的全部的排序算法

    本篇有7k+字, 系统梳理了js中排序算法相关的知识, 希望您能喜欢. 原文:JS中可能用得到的全部的排序算法 导...

  • 数组的排序算法的实现

    数组的排序算法 关于排序算法请看这篇文章。本文尝试使用js来实现一部分简单的算法。 选择排序 思路:若要从小到大排...

  • JS算法——排序算法

    一:冒泡排序 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两...

  • 排序算法

    https://www.cnblogs.com/beli/p/6297741.html js十大排序算法:冒泡排序...

  • js排序算法

    冒泡排序 冒泡排序就是用数组中第一个值和所有值进行比较,选出最大的值放到数组最后。下一次遍历的时候就不需遍历最后一...

  • js 排序算法

  • JS排序算法

    冒泡排序: vararray = [{"name":"aa",index:100},{"name":"aa",in...

  • JS排序算法

    冒泡排序 1.依次比较相邻的两个数,如果第一个比第二个小,不变。如果第一个比第二个大,调换顺序。一轮下来,最后一个...

  • 排序算法-JS

    冒泡排序 基本思路: 1.依次比较相邻的两个数,如果第一个比第二个小,不变。如果第一个比第二个大,调换顺序。一轮下...

网友评论

      本文标题:js 排序算法

      本文链接:https://www.haomeiwen.com/subject/qcanpqtx.html