我写了一个名为Node
的结构体,并希望能够使用指向该结构体的指针作为Phobos BinaryHeap
中的项。然而,我不确定opEquals
和opCmp
是如何实现指针结构(或事实上,一般)。我没能在文档中找到任何帮助我的东西。谁能给我指个正确的方向?
如果你有一个这样的Node*数组,你可以这样做:
Node*[] arr = ....;
auto heap = heapify!(yourCustomCompareFuncGoesHere)(arr);
如果你不能使用heapify,你可以创建一个BinaryHeap:
BinaryHeap!(Node*[], yourCustomCompareFuncGoesHere) heap;
yourCustomCompareFuncGoesHere将作为别名模板参数传递给堆,并用于排序的"较少比较"。对比phobos文档中BinaryHeap的结构签名