这是选择排序法的代码
我想问下 第11行的 j<arr.length为什么不是 j<arr.length-i-1
1.class Select
2.{
3. public void sort(int arr[])
4. {
5. int temp=0;
6. for(int i=0;i<arr.length-1;i++)
7. {
8. int min=arr[i];
9. //记录最小数的下标
10. int minIndex=i;
11. for(int j=i+1;j<arr.length;j++)
12. {
if(min>arr[j])
{
//修改最小
min=arr[j];
minIndex=j;
}
}
//当退出for就找到这次的最小值
temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
}
我想问下 第11行的 j<arr.length为什么不是 j<arr.length-i-1
1.class Select
2.{
3. public void sort(int arr[])
4. {
5. int temp=0;
6. for(int i=0;i<arr.length-1;i++)
7. {
8. int min=arr[i];
9. //记录最小数的下标
10. int minIndex=i;
11. for(int j=i+1;j<arr.length;j++)
12. {
if(min>arr[j])
{
//修改最小
min=arr[j];
minIndex=j;
}
}
//当退出for就找到这次的最小值
temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
}