<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>选择排序</title>
<!--实现原理:
选择排序和冒泡排序类似,也是依次对相邻的数进行两两比较。不同之处在于,
它不是每比较一次就调换位置,而是一轮比较完毕,找到最大值(或者最小值)之后,
将其放在正确的位置,其他数的位置不变。-->
<script>
var arr1=[12,41,1,54,14,90,123,0];
function selectSort(arr){
var len=arr.length;
for(var i=0;i<len;i++){
/*将最小值假定赋值给arr[0]*/
min=i;
for(var j=i+1;j<len;j++){
if(arr[j]<arr[min]){
min=j;/*进行的是一轮的比较*/
}
}
/*r如果当前位置不是最小值则将之替换为最小值*/
if(i!=min){
var temp=arr[i];
arr[i]=arr[min];
arr[min]=temp;
}
}
return arr;
}
document.write(selectSort(arr1));
</script>
</head>
<body>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>选择排序</title>
<!--实现原理:
选择排序和冒泡排序类似,也是依次对相邻的数进行两两比较。不同之处在于,
它不是每比较一次就调换位置,而是一轮比较完毕,找到最大值(或者最小值)之后,
将其放在正确的位置,其他数的位置不变。-->
<script>
var arr1=[12,41,1,54,14,90,123,0];
function selectSort(arr){
var len=arr.length;
for(var i=0;i<len;i++){
/*将最小值假定赋值给arr[0]*/
min=i;
for(var j=i+1;j<len;j++){
if(arr[j]<arr[min]){
min=j;/*进行的是一轮的比较*/
}
}
/*r如果当前位置不是最小值则将之替换为最小值*/
if(i!=min){
var temp=arr[i];
arr[i]=arr[min];
arr[min]=temp;
}
}
return arr;
}
document.write(selectSort(arr1));
</script>
</head>
<body>
</body>
</html>