除去数据中重复,数组排序


<script>
        // 数组去重复
        var arr = [1,2,3,4,4,5,2,1,1]
        function unique(arr) {
            var result = [];
            for(var i = 0;i < arr.length;i++) {
                if(result.indexOf(arr[i]) == -1) {
                    result.push(arr[i])
                }
            }
            return result
        }
        console.log(unique(arr))
</script>
<script>
    // 数据排序 冒泡排序
        function sort(arr) {
            for(var i = 0;i < arr.length;i++) {
                for(var j = i+1;j<arr.length;j++) {
                    if(arr[i] < arr[j]) {
                        var tmp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = tmp;
                    }
                }
            }
            return arr
        }
        var arr = [1,22,0,4,7,2,98,3]
        console.log(sort(arr))
</script>
<script>
    / js的sort()排序
        var arr  = [10,20,2,1];
        arr.sort((a,b) => {
            return b - a
        })
        console.log(arr)
</script>
// 选择排序
        function selectionSort(arr) {
            var minIndex,temp;
            console.time('选择排序耗时')
            for(var i = 0;i<arr.length -1 ;i++) {
                minIndex = i;
                for(var j = i+1;j<arr.length;j++) {
                    if(arr[j] < arr[minIndex]){ // 寻找最小的数
                        minIndex = j; //将最小的索引保存
                    }
                }
                temp = arr[i];
                arr[i] = arr[minIndex];
                arr[minIndex] = temp;
            }
            console.timeEnd('选择排序耗时')
            return arr;
        }
        var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];
        console.log(selectionSort(arr));//[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50];

经小编测试,选择排序似乎比冒泡排序的自创版还要省时间,其实选择排序适合小数据排序,具体这个小数据有多小呢,简单的测试了一下,在1000条以内的数据,选择排序更胜1.3冒泡排序。

 

 

https://www.cnblogs.com/liyongshuai/p/7197962.html

posted @ 2017-04-17 17:35  年少的你如此美丽  阅读(291)  评论(0编辑  收藏  举报