冒泡排序Java实现以及时间复杂度分析
Java实现
public class BubboSort_01 {
public static void main(String[] args) {
int[] num={3,1,5,2,5,6,12,8,9};
BubboSort(num);
System.out.println(Arrays.toString(num));
}
public static void BubboSort(int[] arr){
int lastExchangeIndex=0; //上次交换的最后的位置
int sortBorder= arr.length-1; //有序边界
for (int i=0;i<arr.length-1;i++){
boolean isSorted=true; //标记是否已经有序
for (int j=0;j<sortBorder;j++){
if(arr[j+1]<arr[j]){
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
lastExchangeIndex=j;
isSorted=false;
}
}
sortBorder=lastExchangeIndex;
if(isSorted){