为什么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++){ } }
这样就不会出现你说的多排了趟的问题了。你之前那个排序循环还是乱了。