go冒泡排序思路及其demo

原创
2021/07/16 23:58
阅读数 39

go冒泡排序

思路:

  1. 遍历数组,用前一个元素和后一个元素相比较,如果前一个元素较大,就和后一个元素交换.
  2. 重复第一步,直到全部比较完成,注意,每次重复比较时,总数在减少.

第一步代码如下:

arr := []int{5, 6, 1, 4, 8, 7, 2, 3, 9}
	length := len(arr)
	for j := 0; j < length-1; j++ {
		if arr[j] > arr[j+1] {
			arr[j], arr[j+1] = arr[j+1], arr[j]
		}
	}

第二步:重复第一步的比较:

arr := []int{5, 6, 1, 4, 8, 7, 2, 3, 9}
	length := len(arr)
	for i := length - 1; i > 0; i-- {
		for j := 0; j < i; j++ {
			if arr[j] > arr[j+1] {
				arr[j], arr[j+1] = arr[j+1], arr[j]
			}
		}
	}

最后加一个函数名,并打印查看一下:


func TestBubbleSort(t *testing.T) {
	arr := []int{5, 6, 1, 4, 8, 7, 2, 3, 9}
	length := len(arr)
	for i := length - 1; i > 0; i-- {
		for j := 0; j < i; j++ {
			if arr[j] > arr[j+1] {
				arr[j], arr[j+1] = arr[j+1], arr[j]
			}
		}
	}

	fmt.Println(arr)
}
展开阅读全文
go
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部