- 冒泡排序的基本原理:
- 对存放原始数据的数组,按从前往后的方向进行多次扫描,每次扫描称为一趟。当发现相邻两个数组的次序与排序要求不符时,就将这两个数据进行互换。如果从小到大排序,这时,较小的数据就会逐个向前移动,好像气泡向上漂浮一样。
- 图示过程
- 第一轮比较4次,第二轮比较3次,第三轮比较2次 ,第四轮比较1次
- 为什么每一轮泡泡比较的次数都减少了一次?
- 第一轮比较过后,最大的数23沉到最低底,不用再参与比较
- 第二轮比较过后,次大的数12沉到倒数第二,不用再参与比较
- 以此类推
- 冒泡排序的特点:
- 升序排序中每一轮比较会把最大的数下沉到最底,所以互相比较的次数每一轮都会比前一轮少一次
- 算法代码:
- 如果冒泡排序法对N个数排序需要进行几轮排序,要进行几轮排序?
- N-1轮排序
- 冒泡排序法也可以把数据从大往小排,只需要改一下if条件中的>号