<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script>
let arr = [6,2,4,5,7,1,3]
//选择排序
//大概思路:在数组中先找出最小数的索引,设变一个变量保存下来,找到就进行交换,
// 最小数和数组第一个数交换,以此类推,再把数组其他数字最小数的索引找出,在进行和
// 数组第二位交换..
function handleArr(arr){
for(let i = 0;i<arr.length;i++){
let minIndex = i//保存最小数字的索引
for(let j = i+1;j<arr.length;j++){
if(arr[j]<arr[minIndex]){
minIndex = j//数字两两比较,保存小的那个数的索引
}
}
[arr[i],arr[minIndex]] = [arr[minIndex],arr[i]];
}
console.log(arr)
return arr
}
handleArr(arr)
</script>
<body>
</body>
</html>
总的来说,根据前面所记录的冒泡排序,选择排序较之冒泡排序,最大的区别为交换次数相对较少