Go语言数据结构和算法(十九)冒泡排序

78 阅读1分钟

冒泡排序是一种排序算法.它通过比较两个相邻的算法并将它们交换.直到处于预期的顺序.就像水中上升到水面的气泡的运动一样.其中每个元素在每次迭代中都会移到最后.

1.使用场景:

小数据集:冒泡排序对小数据集特别有效.因为它需要分配的内存小.

近乎排序的数据:大多数数据已经处于正确的位置,冒泡排序算法可以胜过其他排序算法.

教育目的:冒泡排序算法通俗易懂.因此经常用于计算机科学教程.帮助学生理解排序算法原理.

2.实现:

2.1方法:

func BubbleSort(array []int) {
	len := len(array)
	for i := 0; i < len-1; i++ {
		for j := 0; j < len-1-i; j++ {
			if array[j] > array[j+1] {
				array[j], array[j+1] = array[j+1], array[j]
			}
		}
	}
}

2.2main方法:

	array := []int{33, 23, 56, 7, 8, 18, 99, 28}
	data.BubbleSort(array)
	fmt.Println(array)
}

3.实战:

检查给定数组是否排序.

3.1方法:

	len := len(array)
	sortFlag = true
	for i := 0; i < len; i++ {
		for j := 0; j < len-i-1; j++ {
			if array[j] > array[j+1] {
				sortFlag = false
				break
			}
		}
	}
	return sortFlag
}

3.2main方法:

	array := []int{33, 23, 56, 7, 8, 18, 99, 28}
	flag := data.CheckSortArray(array)
	fmt.Println(flag)
}

一字一画.是来时路.

如果大家喜欢我的分享的话.可以关注我的微信公众号

念何架构之路