最近在看一些看了又容易忘的知识点,虽然在业务代码中很少用,但在当下这种大环境下又不得不记,其实像在 php 中,各种 sort 函数是真好用…
package main
import (
“log”
“math/rand”
“time”
)
func sort() {
var arr []int
random := rand.New(rand.NewSource(time.Now().Unix()))
for i := 0; i < 10; i++ {
arr = append(arr, random.Intn(9999))
}
log.Println(arr)
log.Println(insertion(arr))
}
// 插入排序
func insertion(arr []int) []int {
for i := range arr {
pre := i – 1
current := arr[i]
for pre >= 0 && arr[pre] > current {
arr[pre+1] = arr[pre] // 前者比后大,则前者往后移空出位置
pre -= 1
}
arr[pre+1] = current // 最后插进去
}
return arr
}
// 选择排序
func selection(arr []int) []int {
var l = len(arr)
for i := 0; i < l-1; i++ {
minIndex := i
for j := i + 1; j < l; j++ {
if arr[minIndex] > arr[j] {
minIndex = j
}
}
if i != minIndex {
arr[i], arr[minIndex] = arr[minIndex], arr[i]
}
}
return arr
}
// 冒泡排序
func bubble(arr []int) []int {
var l = len(arr)
for i := 0; i < l-1; i++ {
for j := 0; j < l-i-1; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
}
return arr
}
参考
https://www.runoob.com/w3cnote/ten-sorting-algorithm.html© 版权声明
1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 1311978956@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
THE END
暂无评论内容