冒泡排序,2层循环,外层控制冒泡轮数,里层依次比较
-
比较数组中,两个相邻的元素,如果第一个比第二个大,交换位置
-
每次比较,都会产生一个最大或最小的数字
-
下一轮则可以少一次排序
-
依次循环,直到结束
public statis int[] sort() { // 临时变量 int temp = 0; // 外层循环,判断我们这个要走多少次 for(int i=0; i<array.length-1; i++){ // 通过 flag 标识位减少没有意义的比较 boolean flag = false; // 内层循环,比较判断两数,如果第一个比第二个大,则换位置 for(int j=0; j<array.length-1-i; j++){ // 从小到大 or 从大到小 在这判断 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; }