//冒泡排序
public static void bubblingSort(int[] array){
int temp = 0;
int lastExchangeIndex = 0;//记录最后一次交换的位置
int sortBorder = array.length - 1;//无序数列的边界,每次比较只需要比到这里为止
for(int i = 0,len= array.length;i <len ;i++){
//有序标记,每一轮的初始是true
boolean isSorted = true ;
for( int j = 0; j< sortBorder ; j++){
if(array[j] > array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
//有元素交换,所以不是有序,标记变为false
isSorted = false ;
//把无序数列的边界更新为最后一次交换元素的位置
lastExchangeIndex = j;
}
}
sortBorder = lastExchangeIndex;
if(isSorted){
break;
}
}
}