冒泡排序
冒泡排序的大致流程:
依次 比较 相邻的两个数,正序则不动,倒序则交换位置,如此循环,直到整个数组为有序为止
以下列数据为例:
第一轮比较
首先比较索引为0和1的值
3>2,为倒序
则进行位置交换
↓↓↓↓↓↓↓
再比较索引为1和2的值
3<7,为正序
位置不变
↓↓↓↓↓↓↓
再比较索引为2和3的值
7>4,为倒序
则进行位置交换
↓↓↓↓↓↓↓
再比较索引为3和4的值
7>1,为倒序
则进行位置交换
↓↓↓↓↓↓↓
此时已经遍历到最后一位(length-1),第一轮位置交换结束
第一轮总结:
href="">1. 由于是依次比较并交换数值,当前数组中最大的值已经被放到最后的位置
2. 那么接下来的排序则不需要遍历到最后一位,因为最大的1个值已经被排到了最后
第二轮比较
数组中的最大值已经被放到了最后,那么第二轮比较则可以无视最后一位,比较前面的数值(length-1-1)即可
重复第一轮的操作
首先比较索引为0和1的值
2<3,为正序