1 Star 0 Fork 1

技术狼/go-fun

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
algorithm_sort.go 1.16 KB
一键复制 编辑 原始数据 按行查看 历史
技术狼 提交于 1年前 . no message
/*
【包名:】排序算法
【作者:】技术狼
*/
package fun
import (
"math/rand"
"time"
)
// @title: 快速排序
// @param: nums:数组
// @return:
// @description: left 和 right 的边界条件,如果 left 大于等于 right,则无需排序。
// @date: 2024/6/11 22:32
func QuickSort(nums []int, left, right int) {
val := nums[(left+right)/2]
i, j := left, right
for nums[j] > val {
j--
}
for nums[i] < val {
i++
}
nums[i], nums[j] = nums[j], nums[i]
i++
j--
if i < right {
QuickSort(nums, i, right)
}
if j > left {
QuickSort(nums, left, j)
}
}
// @title: 冒泡排序
// @param: nums:数组
// @return:
// @description:
// @date: 2024/6/11 22:32
func BubbleSort(nums []int) {
length := len(nums)
for i := 1; i < length; i++ {
for j := 0; j < length-1; j++ {
if nums[j] > nums[i] {
nums[j], nums[i] = nums[i], nums[j]
}
}
}
}
// @title: 洗牌算法
// @param: nums:数组
// @return:
// @description:
// @date: 2024/6/11 22:32
func Shuffle(arr []int) {
rand.Seed(time.Now().UnixNano())
var i, j int
var temp int
for i = len(arr) - 1; i > 0; i-- {
j = rand.Intn(i + 1)
temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/jishulangcom/go-fun.git
git@gitee.com:jishulangcom/go-fun.git
jishulangcom
go-fun
go-fun
v0.0.4

搜索帮助