一、了解冒泡排序
冒泡排序,顾名思义就是一种以两两比较为基础的分类方法。因为它从一个数组中 循环比较相邻两元素,如果逆序,则进行两个元素间的交换。用go来写代码片段如下。
代码语言:go复制for j :=0; j<len(a)-1; j {
if a[j]>a[j 1] {
a[j],a[j 1]=a[j 1],a[j]
}
}
执行这段for循环,会对数组中的所有元素进行一次相邻元素的比较,距离最终有序数组迈出了一小步。把这个排序过程想象一个成一个气泡刚从池塘底层淤泥里产生出,那么达到最终数组我们最多执行多少次这个for循环呢?想必聪明的你肯定想到最多情况我需要把这个气泡移动水的深度,即可移动气泡