D:如何创建一个新的空二进制堆来存储整数?

Koz*_*oss 1 containers d binary-heap

我对如何正确使用Binary Heap提供的内容感到有点困惑std.container.更具体地说,我想创建一个最大的整数堆,所以我尝试写

auto maxHeap = BinaryHeap!int();

并得到一个关于int不能用[]切片的编译器投诉.我试图在Phobos上阅读它的文档,但我不明白如何创建一个新的,空的二进制堆,旨在存储整数.

有人可以借给我一个手吗?

Ced*_*ent 5

关于BinaryHeaps有一个有趣的主题.

正如在线程中解释的那样,您可以尝试以这种方式使用它:

import std.container: Array, heapify;

void main()
{
    int[] arr = [1, 2, 3];
    auto wrapped = Array!int(arr);
    auto queue = heapify(wrapped);
}
Run Code Online (Sandbox Code Playgroud)