1

例如,如果你有一个结构的排序数组:

struct Item
{
    int val;
    string property;
}

您将如何使用这些,assumeSorted以便您可以搜索Item.val

我可以在网上找到的所有范围示例都使用整数数组。

4

1 回答 1

3

您需要定义一个比较运算符:http ://dlang.org/operatoroverloading.html#compare

struct Item
{
    int val;
    string property;

    int opCmp(ref const Item other) const
    {
        return val - other.val;
    }
}

定义比较运算符后,所有与排序相关的函数都应该像处理整数一样工作。

于 2012-09-02T00:08:35.730 回答