【发布时间】:2011-02-17 05:27:48
【问题描述】:
当我使用 stl 向量容器的“make_heap”方法时,它是改变元素的物理地址还是只是在逻辑上改变顺序(通过一些类成员)
让我解释一下:
假设我使用以下结构实现堆
struct heap
{
int cost;
struct heap* leftChild;
struct heap* rightChild;
};
我可以确保只有结构内的指针发生变化。但不是物理地址。这是vector的make_heap的方式吗?
我问这个问题的原因是我有另一个指向堆元素的对象。我想确保即使堆发生变化我也不需要更新这个指针。
【问题讨论】:
-
你在哪里找到了一个带有 make_heap 方法的向量?
标签: c++ data-structures vector