# 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
上次更新: 12/15/2023,