选择排序遇到了问题困扰了好久

为什么i=1不可以,i=0的话那不是多排了趟,求大神指点一下我这个菜鸟图片

因为第一轮排序之后你需要把最小的那个元素放在i的那个位置上。

因为第一个元素未必是最小的。所以它也要参与判断。

我把k=i改成k=i-1可是还有问题,

你可以这样:

     for(int i =0; i<array.length-1; i++){
    k = i;
    for(int j=i+1; j<array.length; j++){

    }
    }

这样就不会出现你说的多排了趟的问题了。你之前那个排序循环还是乱了。