我有
4, 5', 6, 5''
并且想要反转稳定排序为
6, 5', 5'', 4
但不是
6, 5'', 5', 4
这个(无效的)代码将不起作用
keys := []int{4, 5', 6, 5''}
sort.Stable(sort.Reverse(sort.Ints(keys)))
它会产生:
6, 5'', 5', 4
这里问题被简化为整数 slice ,但实际上我需要将它应用于结构 slice
type myStruct struct {
t time.Time
d time.Duration
}
和基于 t
字段的反向稳定排序。
编辑:经过一些评论后,我明确表示整数 1 是一个无效的示例,以简化问题。
最佳答案
在 slice 类型上实现sort.Interface
接口(interface),这样您就可以选择排序顺序,并对其应用稳定排序。示例:https://play.golang.org/p/TWAtH7asi3
关于sorting - 如何稳定地反向排序 Go 中的一个 slice ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41664250/