yankewei / blog

Life-long learning
2 stars 0 forks source link

【算法】经典排序算法 #21

Open yankewei opened 4 years ago

yankewei commented 4 years ago

找工作的时候就过来温习一遍

选择排序

找最小值,然后放到前边
func bubbleSortFront(s []int) {
    // 外层循环,每次循环把最小的值放到第i的位置
    for i := 0; i < len(s); i++ {
    for j := i + 1; j < len(s); j++ {
        if s[i] > s[j] {
        s[i], s[j] = s[j], s[i]
        } else {
        continue
        }
    }
    }
}
找最大值,然后放到末尾
func bubbleSortEnd(s []int) {
    e := len(s) - 1
    // 每次排序,把最大值放到第e个的位置
    for e >= 0 {
    f := 0
    for f <= e {
        if s[f] > s[e] {
        s[e], s[f] = s[f], s[e]
        }
        f++
    }
       e--
    }
}