算法简介:
选择排序就是每一趟选择最小或者最大的数,然后与起始位置进行交换。
实现思路:
1、从第一个数开始,找到最小或者最大的数,与第一个数进行交换。
2、从剩余未排序元素中继续寻找最小(大)元素,然后与第二个元素进行交换。
3、以此类推,直到所有元素均排序完毕。
JAVA算法实现:
public class Simple_Selection_Sort{
public static void sort(int[] obj){
for(int i=0;i<obj.length;i++){
obj[i] = findMin(obj,i);
}
}
//从起始位置开始找到最小的数,然后与起始位置的数进行交换。
public static int findMin(int[] a,int start) {
int min = a[start];
for(int j=start+1;j<a.length;j++){
if(a[j]<min){
int temp = min;
min = a[j];
a[j] = temp;
}
}
return min;
}
public static void main(String[] args){
int[] a = {1,4,2,5,6,3,7,8,21};
sort(a);
for(int m:a){
System.out.print(m+" ");
}
}
}
原文:http://www.cnblogs.com/DogLiLoveCat/p/7281700.html