<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>简单选择排序</title>
</head>
<body>
<script>
var str=[12,1,34,23,45];
for(var i=0;i<str.length-1;i++){
var min=i;//记录元素最小位置
for(var j=i+1;j<str.length;j++){//从数组第二个开始知道最后找到最小的元素
if(str[j]<str[min]){
min=j;
}
}
if(min!=i){ //如果找到的最小元素不等于记录的最小位置,则交换。
var temp;
temp=str[min]
str[min]=str[i];
str[i]=temp;
}
}
console.log(str.toString());//打印出交换后得数组
</script>
</body>
</html>
1.简单选择排序思路,两个for循环,一趟找到数组中的最小元素排好序,然后继续排序
2.若找到的最小元素不等于记录的最小位置,则交换。
java 源码实现
import java.util.Arrays;
public class mnSum {
public static void main(String[] args) {
int[] arr= {11,2,34,23,44,35,36};
//排序前
System.out.println(Arrays.toString(arr));
for(int i=0;i<arr.length-1;i++)
{
int min=i;
for(int j=i+1;j<arr.length;j++) {
if(arr[min]<arr[j]) {
min=j;
}
}
if(min!=i) {
int temp;
temp=arr[min];
arr[min]=arr[i];
arr[i]=temp;
}
}
//排序后
System.out.println(Arrays.toString(arr));
}
}