JavaScript的选择排序

选择排序法

原理:
1.假定最小值和最小值下标
2.依次向后与这个假定值比较大小
3.假设的最小值和实际的最小值换位;
在这里插入图片描述
具体代码实现:

		function selectSort(arr){
            // 从第一个数开始,每个数依次跟后面的比较,最后一个不需要比较
            for(var n = 0;n< arr.length-1;n++){
                // 假定第n个值是最小值
                var min = arr[n];
                var minIndex = n;
                // 遍历数组,寻找最小值
                // 假定值为n时,只需要跟n+1和后面的数比较即可,比到末尾
                for(var i = n+1 ; i < arr.length;i++){
                    // 判断与假定值的大小
                    if(arr[i] < min){
                        // 记录实际最小值的下标和数据
                        minIndex = i;
                        min = arr[i];
                    }
                }
                // 与假定的最小值换位
                var tmp = arr[n];
                arr[n] = min;
                arr[minIndex] = tmp;
            }
            return arr;
        }

注意点都在注释里;
具体实现时候,可以先实现内部循环。假定第一个值是最小值然后和后面的比较,实现第一个选择排序后再套外部循环实现第二个第三个和后面的比较久简单了;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值