【发布时间】:2018-03-14 01:54:14
【问题描述】:
我在 Perl 中有以下结构:
#!/usr/bin/perl
use strict;
use warnings;
my %hash = (
'firstitem' => {
'1' => ["A","99"],
'2' => ["B","88"],
'3' => ["C","77"],
},
'seconditem' => {
'3' => ["C","100"],
'4' => ["D","200"],
'5' => ["E","300"],
},
);
我正在寻找一种方法来找到每个哈希数组中的最大数和最小数。 所以输出将是
firstitem: max:99, min:77
seconditem: max:300, min:100
我的想法是先对辅助键进行排序,然后在 for 循环中进行冒泡排序或其他排序。它看起来不是很优雅和聪明。
foreach my $k1 (keys %hash) {
my $second_hash_ref = $hash{$k1};
my @sorted_k2 = sort { $a <=> $b } keys %{$second_hash_ref};
foreach my $i (0..$#sorted_k3){
#bubble sort or other sort
}
}
【问题讨论】:
-
我尝试先对第二个键进行排序,然后根据排序后的键迭代值,然后在 for 循环中进行冒泡排序。已发布
-
@MattJacob 我对这个问题做了一些谷歌搜索,发现了一些类似的问题。但是我的数据结构有点不同。感谢您的回答。