相关疑难解决方法(0)

如何在BTreeSet中使用自定义比较器功能?

在C++中,可以自定义代码std::set用于对其参数进行排序.默认情况下它使用std::less,但可以使用Compare模板参数更改.

Rust BTreeSet使用Ord特征对类型进行排序.我不知道如何覆盖这种行为 - 它构建在容器存储的类型的类型约束中.

但是,构建一个按一些本地有用的度量标准排序的项目列表通常是有意义的,但这并不是始终比较项目的最佳方式.或者,假设我想对used类型的项目进行排序; 在这种情况下,Ord即使我愿意,也不可能为类型实现自己.

解决方法当然是建立一个简单的旧Vec项目,然后是sort它.但在我看来,这并不像插入时自动排序那样干净.

有没有办法使用Rust的容器类型的替代比较器?

rust

11
推荐指数
1
解决办法
773
查看次数

标签 统计

rust ×1