Loading

冒泡排序

冒泡排序

public static int[] sort(int[] array){
	int temp = 0;
	for (int i = 0; i < array.length-1; i++) {
		for (int j = 0; j < array.length-1-i; j++) {
			if(array[j+1]<array[j]){
				temp=array[j];
				array[j]=array[j+1];
				array[j+1]=temp;
			}
		}
	}
	return array;
}

该算法时间复杂度为O(n2)

算法优化:

public static int[] sort(int[] array){
	int temp = 0;
	for (int i = 0; i < array.length-1; i++) {
        boolean falg = false;//通过flag标识位减少没有意义的比较
		for (int j = 0; j < array.length-1-i; j++) {
			if(array[j+1]<array[j]){
				temp=array[j];
				array[j]=array[j+1];
				array[j+1]=temp;
                //
                flag = true;
                
			}
		}
        //
        if(flag==false){
            break;
        }
        
	}
	return array;
}
posted @ 2021-04-03 20:49  shumild  阅读(32)  评论(0)    收藏  举报