我编写了一个名为 的结构Node
,并希望能够使用指向该结构的指针作为 Phobos 中的条目BinaryHeap
。但是,我不确定如何opEquals
以及如何opCmp
实现指向结构的指针(或者实际上,一般来说)。我无法在文档中找到任何可以帮助我的东西。谁能指出我正确的方向?
问问题
102 次
1 回答
3
如果您有这些 Node* 的数组,则可以执行以下操作:
Node*[] arr = ....;
auto heap = heapify!(yourCustomCompareFuncGoesHere)(arr);
如果您出于某种原因不能使用 heapify,您可以通过以下方式创建 BinaryHeap:
BinaryHeap!(Node*[], yourCustomCompareFuncGoesHere) heap;
yourCustomCompareFuncGoesHere 将作为别名模板参数传递给堆,并用于“少比较”进行排序。与 phobos 文档中 BinaryHeap 的结构签名进行比较。
于 2014-06-12T09:27:07.583 回答