在golang中排序后获取数组的索引

在golang中排序后获取数组的索引,第1张

在golang中排序后获取数组的索引

为此创建一个包装器,

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, j)    s.idx[i], s.idx[j] = s.idx[j], s.idx[i]}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5163527.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存