On Sunday, 17 August 2014 at 21:09:04 UTC, monarch_dodra wrote:
On Sunday, 17 August 2014 at 18:54:27 UTC, Paulo Pinto wrote:
Hi,
I was wondering if it is possible to use the BinaryHeap store
like
the C++'s make_heap/pop_heap/push_heap functions.
I would like to port to D some A* C++ code I have which
rearranges the priorities on the underlying store, followed by
another
make_heap() call on the vector used as store.
Doing the same in D by calling again heapify() does not seem
to provide similar behavior.
Just curious about it, as I don't plan to invest too much time
on it.
Thanks,
Paulo
AFAIK, D's BinaryHeap works just like C++'s
make_heap/pop_heap/push_heap, except that it provides an actual
object you can interface with, which has font, removeFront,
removeAny and insert.
What exactly is the difference in behavior you are seeing? Just
different results that can be attributed to implementation
details, or fundamental differences?
It doesn't seem to like I change the store contents directly
under its feet
and recalling heapify again on the same store, like I am doing in
C++'s heap.
Sometimes I get a different sequence of data or just a crash.
I still need to make the D code reflect my latest C++ changes, as
the C++ code is what really matters in this hobby project, there
is where my focus has been lately.
The D version is more of a "playing around" thing.
As I said, I curious what the behavior is supposed to be.
Thanks,
Paulo