美文网首页
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