![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Go排序算法学习笔记
用go语言实现排序算法的学习笔记
weixin_51195721
这个作者很懒,什么都没留下…
展开
-
Go语言实现希尔排序
go语言实现希尔排序原创 2022-05-17 15:55:07 · 135 阅读 · 0 评论 -
Go语言实现快速排序
学习笔记:使用go语言实现快速排序原创 2022-05-04 21:54:01 · 1819 阅读 · 0 评论 -
Go语言实现选择排序
选择排序 将数组中的数据分为两个区间,已排序区间和未排序区间。选择排序每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。 插入排序的实现过程 实现代码 func SelectionSort(array []int) []int { if len(array) <= 1 { return array } for i := 0; i < len(array)-1; i++ { min := array[i] minInd原创 2022-05-04 20:54:10 · 258 阅读 · 0 评论 -
Go语言实现归并排序
归并排序 先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。 归并排序的实现过程 实现代码 //n为要排序数组的元素个数 func MergeSort(array *[]int, n int) { MergeSortDetail(array, 0, n-1) } //l,r分别为需要排序的数组的最左、最右元素的下标 func MergeSortDetail(array *[]int, l, r int) { if l >=原创 2022-05-04 20:39:38 · 386 阅读 · 0 评论 -
Go语言实现插入排序
插入排序 将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素。插入算法的核心思想是取未排序区间中的元素,在已排序区间中找到合适的插入位置将其插入,并保证已排序区间数据一直有序。重复这个过程,直到未排序区间中元素为空,算法结束。 一次插入排序的过程 插入排序的全过程 实现代码 func InsertionSort(array []int) []int { if len(array) <= 1 { return array }原创 2022-05-04 17:01:42 · 319 阅读 · 0 评论 -
Go语言实现冒泡排序
冒泡排序 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。 一次冒泡排序的过程 六次冒泡排序的全过程 改进冒泡排序过程 当某次冒泡操作已经没有数据交换时,说明已经达到完全有序,不用再继续执行后续的冒泡操作。我这里还有另外一个例子,这里面给 6 个元素排序,只需要 4 次冒泡操作就可以了。 实现代码 func Bubb原创 2022-05-04 11:22:52 · 691 阅读 · 0 评论