go slice/map类型 排序(选择排序算法)

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])
	}
}复制代码


你可能感兴趣的:(go slice/map类型 排序(选择排序算法))