//冒泡排序 循环次数的公式: n(n-1) / 2
public static void main(String[] args){
int[] arry = new int[]{1,2,3,4,5,7,6};
int temp;
int k=0;// 表示循环次数
for(int i=0;i<arry.length;i++){
boolean flag=false;
for(int j=0;j<arry.length-1-i;j++){
if(arry[j]>arry[j+1]){
temp= arry[j];
arry[j]= arry[j+1];
arry[j+1]=temp;
flag=true;
}
if(!flag){
continue;
}
k++;
}
}
System.out.println(k);
System.out.println(Arrays.toString(arry));
}
//根据公式这个arry 正常需要 21次排序。使用boolean 类型的标识,如果arry[j] 不大于 arry[j+1],则跳过这次循环,进行下一次。最后这个数组 只需要一次遍历就可以了。