go slice/map型別 排序(選擇排序演算法)

艾利金德發表於2019-03-25

slice型別排序實現

//切片排序(選擇排序)
func SortSlice(s []int) (se []int) {
	for i:=0;i<len(s)-1;i++{
		for j:=i+1;j<len(s);j++{
			if s[i] < s[j]{
				s[i], s[j] = s[j], s[i]
			}
		}
	}
	se = s
	return
}複製程式碼

map型別排序實現

func SortMap(m map[string]int){

	var s []string
	for key := range m{
		s = append(s, key)
	}
	for i:=0;i<len(s)-1;i++{
		for j:=i+1;j<len(s)-1;j++{
			if m[s[i]] < m[s[j]]{
				s[i], s[j] = s[j], s[i]
			}
		}
	}
	for _,k:=range s{
		fmt.Println(m[k])
	}
}複製程式碼


相關文章