考慮下面的數據塊,我該如何維護第三個字段對數組進行排序,並繼續推送項目?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