public class Selection_Sort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] ints={
5,4,8,7,2,3
};
ints=SelectionSort(ints, ints.length);
for (int i = 0; i < ints.length; i++) {
System.out.print(ints[i]);
}
}
public static int[] SelectionSort(int []ints ,int n){
for (int i = 0; i < n; i++) {
int minIndex=i;
for (int j = i+1; j < n; j++) {
if(ints[j]<ints[minIndex]){
minIndex=j;
int tap=ints[minIndex];
ints[minIndex]=ints[i];
ints[i]=tap;
}
}
}
return ints;
}
}
如果这样运行结果是不正确的,但是内部for循环后再交换位置,也就是我之前截图的那样,运行的结果是正确的(从小到大排序)