时间复杂度O(n2)
import java.util.Arrays;
?
public class Demo01 {
public static void main(String[] args) {
int[] a={1,2,5,4,9,8};
int[] sort=sort(a);
System.out.println(Arrays.toString(sort));
}
public static int[] sort(int[] array){ //冒泡排序,每轮数组相邻两个数据比较大小,确定数组中最后一位数字
for (int i = 0; i < array.length-1; i++) { //一共要比较 array.length-1 轮
for (int j = 0; j < array.length-1-i; j++) {
int temp=0;
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
}
优化
import java.util.Arrays;
?
public class Demo01 {
public static void main(String[] args) {
int[] a={1,2,3,4,5,6};
int[] sort=sort(a);
System.out.println(Arrays.toString(sort));
}
public static int[] sort(int[] array){ //冒泡排序,每轮数组相邻两个数据比较大小,确定数组中最后一位数字
for (int i = 0; i < array.length-1; i++) { //一共要比较 array.length-1 轮
boolean flag=false; //立一个标志,如果数组已经有序,就不继续遍历进行冒泡排序
for (int j = 0; j < array.length-1-i; j++) {
int temp=0;
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
flag=true;
}
}
if(flag==false){
break;
}
}
return array;
}
}
原文:https://www.cnblogs.com/hahuhuhaha/p/14855737.html