我在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