js的简单排序算法

143 阅读1分钟
1.冒泡排序是比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或者最小值;
2.冒泡排序每一轮比较后,位置不对都需要换位置,选择排序每一轮比较都只需要换一次位置;
3.冒泡排序是通过数去找位置,选择排序是给定位置去找数;

1.冒泡排序

    let arr = [1, 3, 2, 5, 8, 4, 9];     function maopao(arr) {         len = arr.length;

        for (let i = 0; i <= len - 1; i++) {

            for (let j = 0; j <= len - i - 1; j++) {

                if (arr[j] > arr[j + 1]) {

                    let temp = arr[j];

                    arr[j] = arr[j + 1];

                    arr[j + 1] = temp;

                }

            }

        }

        return arr;

    }

    console.table(maopao(arr));

图片.png

2选择排序

    let arr = [1, 3, 2, 5, 8, 4, 9];

    function xuanze(arr) {

        let len = arr.length;

        for (let i = 1; i <= len; i++) {

           var min = i;

            for (let j = i + 1; j < len; j++) {

                if (arr[min] > arr[j]) {

                    min = j;

                }

                if (min != i) {

                    let temp = arr[min];

                    arr[min] = arr[i];

                    arr[i] = temp;

                }

            }             }

        return arr;

    }

    console.log(xuanze(arr));
图片.png