为了账号安全,请及时绑定邮箱和手机立即绑定

js中 的排序方法

标签:
AngularJS


冒泡排序

思想:数组中相邻元素两两比较,如果第一个元素大于第二个元素,交换位置,第一轮比较结束,能确定一个最大值,然后进行第二类比较。

var arr = [11,2,3,5,6,67];

for(var i=1; i<arr.length; i++){

for(var j=0; j<arr.length-i; j++){

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

var temp = arr[j];

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

arr[j+1] = temp;

}

}

}

**选择排序**

思想:假定数组中第一个元素为最小值,对应的索引值为minIndex,让该值和剩余元素进行比较,改变minIndex的指向,指向小值的索引,让minIndex对应的值和剩余的值进行比较,第一轮结束能确定最小值对应minIndex,让其与第一个元素的位置进行交换

var arr = [11,3,45,56,6,7]

function  selectSort(arr){

                for(var i=0; i<arr.length-1; i++){

                       var   minIndex = i;

                             for(var j=i+1; j<arr.length;   j++){

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

                                           minIndex = j;

                                        }

                                }

                            var temp = arr[i];

                            arr[i] = arr[minIndex];

                            arr[minIndex] = temp;

                        }

                        return  arr;

                    }

                    console.log(selectSort(arr));

©著作权归作者所有:来自51CTO博客作者outsider96的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消