我编写了一个名为Node的结构,并希望能够将指向该结构的指针作为Phobos BinaryHeap中的条目使用。但是,我不确定opEquals和opCmp是如何为指向结构的指针(或者实际上是一般的)实现的。我在文件里找不到任何东西来帮助我。有人能指出我的正确方向吗?
发布于 2014-06-12 09:27:07
如果您拥有这些节点的数组*,您可以这样做:
Node*[] arr = ....;
auto heap = heapify!(yourCustomCompareFuncGoesHere)(arr);如果由于任何原因不能使用heapify,则可以通过以下方式创建BinaryHeap:
BinaryHeap!(Node*[], yourCustomCompareFuncGoesHere) heap;yourCustomCompareFuncGoesHere将作为别名模板参数传递到堆中,并用于进行排序的"is较少比较“。与phobos文档中BinaryHeap的结构签名进行比较。
https://stackoverflow.com/questions/24174612
复制相似问题