考虑下面的数据块,我该如何维护第三个字段对数组进行排序,并继续推送项目?Perl推入排序数组
$VAR1 = [
'1111',
'http://...',
3 #this is one of the 3rd field mentioned above
];
$VARN = [
'5555',
'http://...',
0
];
我的代码如下所示:
my @curItem = ($item->{id}, $item->{href}, getTotal($item->{id}));
push @items, \@curItem;
我发现this模块类似于我所需要的。
任何帮助表示赞赏。
同意。问题是要求在逻辑上不一致的东西;你不能同时按照特定的排序顺序*和*'push'将数组保存到它上面,因为按照定义,'push'根据它们添加的顺序存储项目,而不是基于它们的内容。至于执行排序插入的效率,排序时的排序数据是对其进行排序的最快方法之一,此外,它避免了每次访问数据时都需要重新排序,因此它将赢得“排序”在绝大多数情况下获得。 – 2011-03-14 10:49:23