golang 排序 及 列表数组去重

intList := []int{2, 4, 3, 5, 7, 6, 9, 8, 1, 0}
floatList := []float64{4.2, 5.9, 12.3, 10.0, 50.4, 99.9, 31.4, 27.81828, 3.14}
stringList := []string{"a", "cs", "b", "d", "f", "i", "z", "x", "w", "y"}
sort.Sort(sort.IntSlice(intList))//从小到大 [0 1 2 3 4 5 6 7 8 9]
sort.Sort(sort.Float64Slice(floatList))//从小到大[3.14 4.2 5.9 10 12.3 27.81828 31.4 50.4 99.9]

sort.Sort(sort.StringSlice(stringList))//正序 [a b cs d f i w x y z]

fmt.Printf("%v\n%v\n%v\n", intList, floatList, stringList)

sort.Sort(sort.Reverse(sort.IntSlice(intList)))//从大到小[9 8 7 6 5 4 3 2 1 0]

sort.Sort(sort.Reverse(sort.Float64Slice(floatList)))//从大到小[99.9 50.4 31.4 27.81828 12.3 10 5.9 4.2 3.14]

sort.Sort(sort.Reverse(sort.StringSlice(stringList))) //倒叙[z y x w i f d cs b a]

fmt.Printf("%v\n%v\n%v\n", intList, floatList, stringList)



//字符串去重
func SliceRemoveDuplicates(slice []string) []string {
sort.Strings(slice)
i:= 0
var j int
for{
if i >= len(slice)-1 {
break
}
for j = i + 1; j < len(slice) && slice[i] == slice[j]; j++ {
}
slice= append(slice[:i+1], slice[j:]...)
i++
}
return slice
}


//整数去重

func RemoveDuplicate(list *[]int) []int {
var x []int = []int{}
for _, i := range *list {
if len(x) == 0 {
x = append(x, i)
} else {
for k, v := range x {
if i == v {
break
}
if k == len(x)-1 {
x = append(x,i)
}
}
}
}
return x
}


posted @   杨鑫Zz  阅读(1573)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示