前端中关于js经典排序讲解

逻辑分析: 简单的说插序就是在一组数据中,找最大的数或最小的数放到第一位 先一步一步来,我们先找数组中的最大的位置的索引 123456789101112var arr = &#91…

逻辑分析:
简单的说插序就是在一组数据中,找最大的数或最小的数放到第一位

先一步一步来,我们先找数组中的最大的位置的索引

1
2
3
4
5
6
7
8
9
10
11
12
var arr = [3,5,1];
    function arrMax(arr){
        var index = 0;
        for(var i = 0; i <= arr.length; i++){
            if(arr[i] > arr[index]){
                index = i;
            }
        }
        return index
    };
    arrMax(arr,0);
    //1

OK,上面已经找出最大值的索引了,一口气完成吧

1
2
3
4
5
6
7
8
9
10
11
function arrSort(arr){
    var len = arr.length-1;
    var arr2 = [];
    for(var i = 0; i <= len;i++){
        var max = arrMax(arr,i);
        arr2.push(arr[max])
        arr.splice(max,1)
    }
    arr = arr2;
    return arr;
}

上面的函数中没次的都创建了一个新的数组用来存放,排序好的数据。
今天的分享就到这里了。

作者: huanggr

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注