
Hi Dave, On Fri, Jun 11, 2010 at 23:57, David Abrahams <dave@boostpro.com> wrote:
At Fri, 11 Jun 2010 23:07:19 +0900, Raymond Wan wrote:
That is, maybe a max-heap shouldn't be interchangeable with a priority queue? Or, that a heap should have been part of std first...but I presume this project's aim is to correct this omission? :-)
Don't forget, the standard also has heap algorithms that use the same default sort criterion.
Oh! Opps...yes, sorry, I did forget about that! Thanks! Of course, I don't know the reasons why the standard uses the > operator. Personally, I think we're just talking about things from two different ends. I'm just saying that the term "heap" doesn't imply either operator. Out of convenience, books and the C++ standard made a choice and they happened to have made different choices...but neither is more correct than the other. Likewise, if a max-heap was used to follow what std already does, then there is nothing wrong to explicitly say in the documentation that "by default" a "max-heap is built". I was just looking at some std heap documentation (to refresh my memory :-) ) and it says, "Internally, a heap is a tree where each node links to values not greater than its own value." [1] I would say that this statement is incorrect...but that's just me being picky. :-) Thank you for correcting me! Ray [1] http://www.cplusplus.com/reference/algorithm/make_heap/