冒泡排序
冒泡排序
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;
}

浙公网安备 33010602011771号