冒泡排序——稳定算法
从小到大排序:
0~length-1
对比a[0]和a[1],如果前一个大于后一个,交换位置。
对比a[1]和a[2],如果前一个大于后一个,交换位置。
对比a[2]和a[3],如果前一个大于后一个,交换位置。
...
对比a[length-2]和a[length-1],如果前一个大于后一个,交换位置。
第一轮结果下来就是把最大值放在了最后面。
0~length-2
对比a[0]和a[1],如果前一个大于后一个,交换位置。
对比a[1]和a[2],如果前一个大于后一个,交换位置。
对比a[2]和a[3],如果前一个大于后一个,交换位置。
...
对比a[length-3]和a[length-2],如果前一个大于后一个,交换位置。
第二轮结果下来就是把第二大值放在倒数第二个。
改进——记录最后一次交换的索引位置,作为下一次冒泡的比较次数 (该位置后的元素均已有序