深度剖析冒泡排序机制
首先冒泡的机制 从五个数来分析
假设一个数组 6,5,8,4,20
第一次排序:
先比较6,5,因为6>5,所以位置交换,
再比较8和6,位置不变,
然后比较4和8,交换这两个数,
然后比较8和20,位置不变
所以第一轮排序完成后 数组中的顺序变为
5,6,4,8,20
第二次排序: 同上 ,其顺序变为: 5,4,6,8,20
第三次排序: 同上,其顺序变为: 4,5,6,8,20
这就排序成功了,理论上如果最难的需要再进行一次
一般循环都是循环N-1次
排序时五个元素需要四次,三个元素需要两次,需要n-1次,
对五个元素每次排序 第N趟(i) 0 1 2 3
比较次数(j) 4 3 2 1
可以得到规律 i+j=n-1
public class test13 {
public static void main(String[] args) {
/* 详细分析冒泡排序,
首先冒泡的机制 从五个数来分析
假设一个数组 6,5,8,4,20
第一次排序: 先比较6,5,因为6>5,所以位置交换,再比较8和6,位置不变,
然后比较4和8,交换这两个数,然后比较8和20,位置不变
所以第一轮排序完成后 数组中的顺序变为
5,6,4,8,20