常用算法Golang实现

选择排序

package main

import (
    "fmt"
)

func main() {
    arr := []int{2, 67, 33, 0, 45, 25, 77, 208, -8, -7}
    selectSort(arr)
    fmt.Print(arr)
}

func selectSort(arr []int) {
    len := len(arr)
    for i := 0; i < len; i++ {
        var minIndex int = i
        for j := i + 1; j < len; j++ {
            if arr[minIndex] > arr[j] {
                arr[minIndex], arr[j] = arr[j], arr[minIndex]
            }
        }
    }
}

冒泡排序

package main

import (
    "fmt"
)

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

func main() {
    arr := []int{2, 78, 3, 6, 90, 33, 44, 0, -5, 99}
    bubbleSort(arr)
    fmt.Print(arr)
}

你可能感兴趣的:(常用算法Golang实现)