On Monday, 14 November 2011 at 06:15:18 UTC, SimonM wrote:
On 2011/11/14 02:10 AM, bearophile wrote:
SimonM:
2009, 27 April:
http://www.digitalmars.com/d/archives/digitalmars/D/std.algorithm.BinaryHeap_88811.html
See the working version:
http://rosettacode.org/wiki/Huffman_coding#D
Bye,
bearophile
Okay, I looked at the example, and it seems that the only
reason it works is because that piece of code never requires
the array's length to grow larger than it's initial length (at
the start of the loop, 2 elements are taken out, and at the
end, only one is inserted back in).
If I try using a BinaryHeap with a range, then, like the
documentation mentions, I can't grow that BinaryHeap any larger
than it's initial size, because I got the following error:
"Cannot grow a heap created over a range". But somehow I can't
get it working with an Array!(T) like the documentation implies
it should be capable of?
Is this problem resolved? I cannot produce a growable BinaryHeap
myself.