为什么叫冒泡排序?不就说明它像泡泡从底部冒到水面上一样吗,自己脑补。。。
简单来说就是在一组数据中,从左到右,俩俩比较,然后把较大的数据往前推,一轮下来之后,最大的一个数据就被推到了最右边。
每轮从第一个元素开始,相邻两元素之间比较大小,交换元素彼此的位置,直到最后一对相邻元素
总共进行n-1轮
每轮进行n-i-1次比较(这是从下标为0开始的,如果是从下标为1开始,则每轮进行n-i次比较)
1、不用i表示轮数
int [] arr = new int[]{1,2,3,4,4,2,5,6,0};
//外循环控制轮数
for(int i = 0; i arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
2、假设用i同时表示轮数
int [] arr = new int[]{1,2,3,4,4,2,5,6,0};
//外循环控制轮数
for(int i = 1; i arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
3、假设用j同时表示每轮交换的次数
//外循环控制轮数
for(int i = 1; i


