js 数组排序

下面提供两种数组排序方法

try {
            /**
             * 排序断言
             */
            {
                let arr = []

                function arrData(num) {
                    for (let i = 0; i < num; i++) {
                        arr[i] = Math.floor(Math.random() * num + 1)
                    }
                }
                arrData(1000)
                console.log(arr)
                function jssort(myArr) {
                    let date1=new Date().getTime()
                    console.log(`${myArr.length}长度冒泡排序耗时`)

                    for (let i = 0; i < myArr.length - 1; i++) { //要循环多少次
                        for (let j = 0; j < myArr.length - 1; j++) { //要移动几次
                            if (myArr[j] > myArr[j + 1]) { [myArr[j], myArr[j + 1]] = [myArr[j + 1], myArr[j]] }
                        }
                    }

                    console.log(`${myArr.length}长度冒泡排序耗时${new Date().getTime()-date1}`)

                    return myArr;
                }
                console.log(jssort(arr))

                function selectSort(myArr) {
                    let date1=new Date().getTime()
                    console.log(`${myArr.length}长度选择排序耗时`)
                    let minIndex, temp; var len = myArr.length;
                    for (let i = 0; i < myArr.length - 1; i++) {
                        minIndex = i;
                        for (let j = i + 1; j < myArr.length; j++) {
                            if (myArr[j] < myArr[minIndex]) { minIndex = j; }
                        } [myArr[i], myArr[minIndex]] = [myArr[minIndex], myArr[i]]
                    }
                    console.log(`${myArr.length}长度冒泡排序耗时${new Date().getTime()-date1}`)

                    return myArr;
                }
                console.log(selectSort(arr))

            }

        } catch (error) {

        }

耗时对比测试

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值