Closed. This question needs details or clarity. It is not currently accepting answers. Learn more
想改进这个问题吗添加细节并通过editing this post澄清问题。
我在将堆实现为数据结构时遇到了问题我的任务是创建最初未知数量的堆,也就是最初未知大小的堆,稍后我将可以对其进行处理。二进制堆的数量及其大小将作为参数(一些stdin数据)给出,因此for循环应该是合适的。另外,我必须尽量少面向对象,因为这是算法类问题的一部分…
但是,我不知道从哪里开始,因为我不知道如何称呼他们(名字?)以及如何储存它们,所以我将非常感谢你们的帮助。
提前谢谢你!

最佳答案

使用类似于

struct Heap
{
int *arr;
int count;  //number of elements in heap
int capacity;  //size of heap;
int heap_type;  //min(0) or max(1)
};

然后可以定义堆,使用new/malloc动态分配堆,并初始化所有四个成员。
注意:您必须执行两个动态分配,一个用于堆,另一个用于数组arr。

关于c++ - 在C++中动态创建堆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24182578/

10-12 17:26