On Tue, 21 Dec 2010 18:23:11 -0000, Christopher Jones
<christopher.jo...@oracle.com> wrote:
Hi Gustavo,
Can you review the definition of
http://www.php.net/manual/en/splminheap.compare.php ?
I believe the testcase should have the operands reversed to satisfy this
definition and so the bug was bogus.
I did. The definition says compare() should give a positive number if
$value1 is larger than $value2, which it does:
+<?php
+class MySimpleHeap extends SplMinHeap{
+ public function compare( $value1, $value2 ){
+ return ( $value1 - $value2 );
+ }
+}
+
+$obj = new MySimpleHeap();
+$obj->insert( 8 );
+$obj->insert( 0 );
+$obj->insert( 4 );
+
+foreach( $obj as $number ) {
+ echo $number, "\n";
+}
+--EXPECT--
+0
+4
+8
+
So this implementation of compare() gives the "usual order" and SplMinHeap
should give the elements in the usual increasing order (the top should
have the smallest).
Moreover, without the change extending SplMinHeap or SplMaxHeap would give
the same result.
--
Gustavo Lopes
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php