这是我用java写的选择排序,对数组int[] arr={15,65,9,20,37,6,7,100,57,5,4,3,2,1,87};
进行排序,结果是[1,15,2,9,20,3,6,87,37,4,5,7,57,65,100],然后我把if判断换成注释后面的就好了,这里i每进入一次循环我并没有改变它的值,为什么得不到正确结果.我哪里出错了?
public static void selectionSort(int[] a){
int temp,min;
for(int i=0;i<a.length-1;i++){
min=i;
for(int j=i+1;j<a.length;j++){
if(a[j]<a[i])//a[j]<a[min]
min=j;
}
if(min!=i){
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
}