package sort
// 1、冒泡排序
func BubbleSort(arr []int) {
n := len(arr)
flag := true
for i := 0; i < n && flag; i++ {
flag = false
for j := 0; j < n-i-1; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
flag = true
}
}
}
}
// 2、选择排序
func SelectSort(arr []int) {
n := len(arr)
for i := 0; i < n; i++ {
minIndex := i
for j := i+1; j < n; j++ {
if arr[j] < arr[minIndex] {
minIndex = j
}
}
if minIndex != i {
arr[minIndex], arr[i] = arr[i], arr[minIndex]
}
}
}
// 3、插入排序
func InsertSort(arr []int) {
n := len(arr)
for i := 0; i < n-1; i++ {
if arr[i+1] < arr[i] {
for j := i+1; j > 0 && arr[j] < arr[j-1]; j-- {
arr[j], arr[j-1] = arr[j-1], arr[j]
}
}
}
}
// 4、希尔排序
func ShellSort(arr []int) {
n := len(a
Golang实现常见排序算法
最新推荐文章于 2024-05-12 19:16:51 发布