您现在的位置:首页 >> 前端 >> 内容

关于排序算法的学习

时间:2017/9/2 9:28:00 点击:

  核心提示:1.冒泡排序法外部循环循环元素个数,内部循环交换次数function bubble(items){for(var i=0;i for(var j=0;j if(items[j]items[j+1]){...

1.冒泡排序法

外部循环循环元素个数,内部循环交换次数

function bubble(items){

for(var i=0;i

for(var j=0;j

if(items[j]>items[j+1]){

var swap = items[j];

items[j] = items[j+1];

items[j+1] = swap;

}

}

}

var items = [3,2,6,4,7,9,8,5,1];

bubble(items)

2.选择排序法

外层循环遍历元素次数,内部循环挑出最小数字

function selectSort(items){

var len=items.length;

var minIndex,temp;

for(var i=0;i

minIndex = i; //定义一个最小的函数

for(var j=i+1;j

if(items[j]

minIndex = j;

}

}

temp = items[i]; //换位置

items[i] = items[minIndex];

items[minIndex] = temp;

}

return arr;

}

var items = [3,2,6,4,7,9,8,5,1];

selectSort(items)

3.插入排序

function insertionSort(items) {
    var len = items.length;
    for (var i = 0; i < len; i++) {   //外层循环元素个数
        var value = items[i];
        for (var j = i-1; j > -1 && items[j] > value; j--) {
            console.log(i,j,items[j]);
            items[j+1] = items[j];
        }
        items[j+1] = value;
    }
    return items;
};

作者:网络 来源:qq_4003601