首页 > 解决方案 > 可以为 Rust 中的元组定义 Ord 吗?

问题描述

是否可以为元组/类型别名定义特定的 Ord 函数,而不是结构?我希望在 BinaryHeap 上存储一组元组,但我希望它们仅根据元组的一个字段在堆中排序。

我正在描绘这样的事情(无法编译):

type QNode = (String, u32, i32);

impl Ord for QNode {
    fn cmp(&self, other: &Self) -> std::cmp::Ordering {
        self.1.cmp(&other.1);
    }
}

我可以定义一个 Struct 来推送到堆上,但只使用类型别名会感觉更轻量级。

标签: rust

解决方案


推荐阅读