数组排序

数组排序


1.冒泡排序
将数组中的元素,两两比较,大的放后面

var arr = [45,2,56,123,76];					//定义一个杂乱的数组
    for(var i=0;i<arr.length-1;i++){         //大循环,用于遍历数组每个元素
        for(var j=0;j<arr.length-i-1;j++){   //小循环,用于将数组中的某个元素与其它所有元素相比较
            var sum;                         //声明一个局部变量,当作第三个空瓶子
            if(arr[j]>arr[j+1]){             //判断当前元素和后一个元素的大小,如果当前元素比后一个元素大
            	sum = arr[j];           //将当前元素(大元素)放在后一个元素的位置
                arr[j] = arr[j+1];              //将后一个元素(小元素)放在空瓶子里
                arr[j+1] = sum;                //将小元素从空瓶子中拿出来,放在当前元素的位置
            }
        } 
    }
console.log(arr);      //完成循环之后,初始数组的顺序已经发生改变[2, 45, 56, 76, 123]

2.选择排序
将第一位依次与后面的元素相比较,得到最小值,与第一位交换。再用第二位依次与后面元素相比较,得到最小值,与第二位交换。

var arr = [45,2,56,123,76]
   for(var i=0;i<arr.length-1;i++){       //大循环,需要比对的次数
       var min = arr[i];                  //假定一个最小值
       var minIndex = i;                  //假定最小值的索引
       for(var j=i+1;j<arr.length;j++){   //小循环,每次需要比对的次数
           if(min>arr[j]){                //判断最小值是否为真的最小值
               min = arr[j];              //获取真正的最小值
               minIndex = j;              //获取真正最小值的索引
           }
       }

       arr[minIndex] = arr[i];            //将当前元素放在最小值的位置
       arr[i] = min;                      //将最小值放在当前元素的位置
   }
   console.log(arr);                      //输入排序好的数组  

3.利用sort排序

var arr = [45,2,56,123,76];
arr.sort(function(a,b){
	return a-b
})
console.log(arr)	//[2, 45, 56, 76, 123]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值