# 2. 冒泡排序
# 步骤
选择排序,具体步骤如下:
- 0~N-1 遍历0-N-1的过程中,将较小的值与较大的值交换,走完一边,最后的一个值已经有序
- 0~N-2 遍历1-N-2的过程中,将较小的值与较大的值交换,走完一边,倒数第二个值已经有序
- 0~N-3 遍历2-N-3的过程中,将较小的值与较大的值交换,走完一边,倒数第三个值已经有序
- ...
直到将数组排好序
# 步骤示例

# 代码
func BubbleSort(arr []int) {
N := len(arr)
for i:=N-1; i>=1; i-- { // 范围 从0—N-1 慢慢缩减,直到0-1
for j:=1; j<=i; j++ { // 在指定范围内,做冒泡排序
if arr[j-1] > arr[j] { // 相邻位置内大数在小数前面的时候,持续进行交换。
Swap(arr, j-1, j)
}
}
}
}
func Swap(arr []int, i, j int) {
arr[i], arr[j] = arr[j], arr[i]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14