冒泡排序算法
- 外层控制行,比较次数数据元素个数减一
- 内层控制列,比较次数数据元素个数减一,减去已经排序好的元素
- 相邻数据比大小
- 满足条件进行交换
go实现
func BubbleSort(arr []int) []int {
//len(arr) - 1是比较的次数,例如2个数只用比较1次
for i := 0; i < len(arr) - 1; i++ {
//len(arr) - i - 1 是比较的次数,排除已经排序好的i个
for j := 0; j < len(arr) - 1 - i; j++ {
if arr[i] > arr[j] {
arr[i], arr[j] = arr[j], arr[i]
}
}
}
}