public class SelectSort {
private static boolean greater(Comparable v, Comparable w){
return v.compareTo(w)>0;
}
private static void exch(Comparable[] a,int i,int j){
Comparable temp = a[i];
a[i] = a[j];
a[j] = temp;
}
public static void sort(Comparable[] a){
//外层决定排序的次数
for (int i = 0;i<a.length-1;i++){
//定义一个变量,记录最小元素所在的索引,默认参与选择排序的第一个元素所在的位置为最小元素。
int min = i;
//内层决定比较的次数
for (int j = i+1;j<a.length;j++){
//比较最小索引处的值和j索引处的值
if (greater(a[min],a[j])){
min = j;
}
}
exch(a,i,min);
}
}
}
原文:https://www.cnblogs.com/zuzuzu-code/p/13340615.html