sort.sort(sort.Reverse(sort.IntSlice(example)))
排序数组.
但是我如何获得数组的索引?
例如
example := []int{1,25,3,5,4}
我想得到输出:1,4,2
@H_419_13@@H_419_13@ 为sort.IntSlice创建一个包装器,它会记住索引并在交换值时交换它们:type Slice struct { sort.IntSlice IDx []int}func (s Slice) Swap(i,j int) { s.IntSlice.Swap(i,j) s.IDx[i],s.IDx[j] = s.IDx[j],s.IDx[i]}
游乐场:http://play.golang.org/p/LnSLfe-fXk.
编辑:正如DaveC在评论中提到的,您实际上可以使用sort.Interface来为任何可排序类型创建数据结构:
type Slice struct { sort.Interface IDx []int}func (s Slice) Swap(i,j int) { s.Interface.Swap(i,s.IDx[i]}@H_419_13@ 总结
以上是内存溢出为你收集整理的在golang中排序后获取数组的索引全部内容,希望文章能够帮你解决在golang中排序后获取数组的索引所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)