java选择排序算法理解,[Java教程]选择排序算法和理解_星空网

选择排序算法和理解

2017-08-26

0

var arr = [1, 41, 12, 2, 5]

//选择排序

//a = 1, b = 41, c = 12, d = 2, e = 5

//a,b,c,d,e 五人相遇了,要站一对,从高到矮排列

//1、2、3、4、5

//其中1号位a说话了:我最矮你们谁有意见

//然后b,c,d,e不信依次和a比较,最后结果是a最矮,站最后

// => a, b, c, d, e

//然后2号位b说话了我是除了a最矮的,谁有意见

//然后c,d,e不信,依次和b比较

//刚和c一比 c就叫了我比你矮你不是除了a最矮的我才是,说罢

//就说我才是除a最矮的,谁有意见

//然后d,e不信,依次和c比较

//刚个d一比,d就叫了,你不是除a最矮的,我才是,说罢

//就说我才是除a最矮的,谁有意见

//然后e不信,和e比较

//和e比较,e承认,d比他矮,最后d是除了a之外最矮的,站a前面

// => a, d, b, c, e

//然后3号位b说话了,我是除了a,b外最矮的,谁有意见

//然后c,e不信,依次和b比较

//刚和c一比 c就叫了我比你矮你不是除了a,b最矮的我才是,说罢

//就说我才是除a,b最矮的,谁有意见

//然后e不信,e和c比较

//刚个e一比,e就叫了,你不是除a,d最矮的,我才是

//最后e是除a,b最矮的站a,b前面

// => a, d, e, b, c

//然后4号位b说话了,我是除了a,b,c外最矮的,谁有意见

//然后c不信,和b比较

//刚和c一比 c就叫了我比你矮你不是除了a,b,e最矮的我才是

//最后c是除a,b,e外最矮的,站a,b,e前面

// => a, d, e, c, b

//最后5号位的b说话了:没人和我比了,唉!我是最高的,说罢站a, b, e, c前面

// => a, d, e, c, b

function selectionSort(arr){

var len = arr.length,min;

for (i=0; i < len; i++){

// 出来出声说我是最矮的那个

min = i;

// 比较其他人是否比他矮

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

if (arr[j] < arr[min]){ min = j; }

}

// 如果其他人比它矮,换成那个矮的出声

if (i != min){

var temp = arr[i];

arr[i] = arr[min];

arr[min] = temp;

}

} return arr;

//返回一个有矮到高的列(数组)

}

console.log(selectionSort(arr));

//结果:[1, 2, 5, 12, 41]

0

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值