美文网首页
js函数:数组的冒泡、选择、插入排序和indexOf、splic

js函数:数组的冒泡、选择、插入排序和indexOf、splic

作者: Delet | 来源:发表于2022-03-30 00:55 被阅读0次
          // 生成自定义长度,随机数的数组(写一次可以调用多次)
        function fn2(a, min, max) {
            var arr = [];
            for (i = 0; i < a; i++) {
                arr[i] = Math.round(Math.random() * (max - min) + min);
            }
            return arr;
        }
        // 冒泡排序
    
        function bubble(arr) {
            for (i = 0; i < arr.length; i++) {
                for (j = 0; j < arr.length - i - 1; j++) {
                    if (arr[j] > arr[j + 1]) {
                        [arr[j + 1], arr[j]] = [arr[j], arr[j + 1]]
                    }
                }
            }
            return arr;
        }
    
    
        var a = bubble(fn2(10, 0, 9));
        console.log(a);
    
    
        // 选择排序
        function str(arr) {
            for (i = 0; i < arr.length - 1; i++) {
                var min = i;
                for (j = i + 1; j < arr.length; j++) {
                    if (arr[j] < arr[min]) {
                        min = j
                    }
                }
                [arr[min], arr[i]] = [arr[i], arr[min]]
            }
            return arr;
        }
    
        var a = str(fn2(10, 0, 9));
        console.log(a)
    
        // 插入排序
        function charset(arr) {
            for (i = 1; i < arr.length; i++) {
                for (j = i; j > 0; j--) {
                    if (arr[j] < arr[j - 1]) {
                        var num = arr[j - 1];
                        arr[j - 1] = arr[j];
                        arr[j] = num;
                    }
                }
            }
            return arr;
        }
    
        var a = charset(fn2(10, 0, 9));
        console.log(a)
    
        // indexOf 去重
        function indexOf(arr) {
            var a = [];
            for (i = 0; i < arr.length; i++) {
                if (a.indexOf(arr[i]) == -1) {
                    a.push(arr[i])
                }
            }
            return a;
        }
    
        console.log(indexOf(fn2(8, 1, 5)));
    
        // splice去重
        function splice(arr) {
            for (i = 0; i < arr.length; i++) {
                for (j = i + 1; j < arr.length; j++) {
                    if (arr[i] == arr[j]) {
                        arr.splice(j, 1);
                        j = j - 1;
                    }
                }
            }
            return arr;
        }
    
        console.log(splice(fn2(10, 1, 10)));
    

    相关文章

      网友评论

          本文标题:js函数:数组的冒泡、选择、插入排序和indexOf、splic

          本文链接:https://www.haomeiwen.com/subject/vzcijrtx.html