RE: [PHP-DEV] Is this correct behaviour with SplMinHeap?
This makes sense.
Thank you.
Dmitri Snytkine
Web Developer
Ultra Logistics, Inc.
Phone: (888) 220-4640 x 2097
Fax: (888) 795-6642
E-Mail: [email protected]
Web: www.ultralogistics.com
"A Top 100 Logistics I.T. Provider in 2011"
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Etienne Kneuss
Sent: Saturday, February 25, 2012 9:03 AM
To: Dmitri Snytkine
Cc: [email protected]
Subject: Re: [PHP-DEV] Is this correct behaviour with SplMinHeap?
Hi,
On Sat, Feb 25, 2012 at 14:21, Dmitri Snytkine
<[email protected]> wrote:
> I am not sure if this is a bug or not, but something is strange with this:
> I run this little test script, this one is posted on php.net in comments
> section
>
>
> class MySimpleHeap extends SplMaxHeap
> {
> public function compare( $value1, $value2 ) {
> return ( $value1 - $value2 );
> }
> }
>
> $obj = new MySimpleHeap();
> $obj->insert( 4 );
> $obj->insert( 8 );
> $obj->insert( 1 );
> $obj->insert( 0 );
>
> foreach( $obj as $number ) {
> echo $number."\n";
> }
>
> The output is 8 4 1 0
> Good.
> Now I change the
> class MySimpleHeap extends SplMaxHeap
> to
> class MySimpleHeap extends SplMinHeap
>
> run it again (now I expet to get lowest value first) and get exact same
> results back.
>
> Is this a bug?
No, this is not a bug. SplMin/MaxHeap simply define their own compare
method, but you overwrite it anyway.
If you specify the compare method, I don't believe it is useful to
extends SplMin/MaxHeap if you overwrite the compare method completely,
you should extend SplHeap directly in such cases.
Best,
>
>
>
> Dmitri Snytkine
> Web Developer
> Ultra Logistics, Inc.
> Phone: (888) 220-4640 x 2097
> Fax: (888) 795-6642
> E-Mail: [email protected]
> Web: www.ultralogistics.com
>
> "A Top 100 Logistics I.T. Provider in 2011"
>
>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
Etienne Kneuss
http://www.colder.ch
Thread (3 messages)