我在Perl中將二維數組引用插入我的堆中。 構建我的堆時應該如何定義'elements'屬性以便我可以正確使用我的比較函數?作爲一個數組引用在Perl堆中插入數組引用
不能使用字符串(「2.55」),而「嚴格的裁判」使用...(這意味着我可能真的要:
my $heap = Heap::Simple->new(order => \&byNumOrStr,
elements => [Array => 0]
);
sub byNumOrStr
{
my ($a, $b) = @_;
$b->[0] <=> $a->[0] #0-th element is a number.
||
$a->[1] cmp $b->[1]; #1-st element is a number
}
我不斷收到回這個錯誤比較我的「數字串」數值)
第1部分(適用於上下文):http://stackoverflow.com/questions/3146484/secondary-order-in-heapsimple/3146526 – Ether 2010-06-30 18:00:36