以冒泡为例吧
public static void threeMethod() {
int array[] = {-5,-9,2,5,10,7,895};
for(int i = 0 ; i < array.length ; i ++) {
for(int j = i +1 ; j < array.length ; j ++) {
if(array[i] < array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
for(int i = 0 ; i < array.length ; i ++) {
System.out.print(" "+array[i]+" ");
}
}
}}
第一个for循环,即外层循环,控制的是循环次数,所以不管你是0到9还是1到10
效果是一样的,只要相差值相同即可
第二个就有些讲究了j是从i+1开始的
因为第一次第一个与第二个相比,正好是i和i+1相比,
第二轮就是i+1和i+1+1相比,这样就遍历了所有元素
当然,你也可以不管什么i+1,j+1,所有都写成0开始到结尾结束
只是这样效率低一点罢了
|