数组的选择排序

说明

1.选择排序是每次比较找到最小值
2.比如:每次拿第一位和后面的所有做比较,找到最小放在第一位

代码

var arr = [9,7,8,6,5];
    console.log(arr);
    // 下面是比较的顺序(根据索引比较)
    // 每次拿第一位和后面的所有做比较,找到最小放在第一位
    // 0-1,0-2,0-3,0-4
    // 1-2,1-3,1-4
    // 2-3,2-4
    // 3-4
    for(var i =0;i<arr.length-1;i++){
        // 让每次外循环 ls 里面都是第一位
        var ls = arr[i];
        // lssy保存ls里数据所在位置的索引
        var lssy = i;
        for(var j=i+1;j<arr.length;j++){
            if(ls>arr[j]){
                // 如果ls的值大了,就把小的值赋值给它
                ls = arr[j];
                // ls里的数据变了,那么ls的索引也会发生改变
                lssy = j;
            }
        }
        // 内循环结束后,ls里面拿到了最小值,把最小值和第一位进行交换
        // 先把第一位数据拿走 拿到最小值所在的位置
        arr[lssy] = arr[i];
        // 再把最小值给第一位
        arr[i] = ls;
    }
    console.log(arr);

你可能感兴趣的:(数组的选择排序)