js 排序算法

冒泡排序

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

你可能感兴趣的:(js 排序算法)