数组 – 带引用的perl sort 2d数组
发布时间:2020-12-16 06:15:51 所属栏目:大数据 来源:网络整理
导读:我对perl有些新意,所以请耐心等待.到目前为止,我已经用尽了所有可能的解决方案. 假设我有一些帽子,其中一些测量值在其他地方填充.我想根据某个专栏对它们进行排序.我尝试使用perl的“排序”来做这个,但我不让它们实际排序.我相信问题是我对引用感到困惑.下面
我对perl有些新意,所以请耐心等待.到目前为止,我已经用尽了所有可能的解决方案.
假设我有一些帽子,其中一些测量值在其他地方填充.我想根据某个专栏对它们进行排序.我尝试使用perl的“排序”来做这个,但我不让它们实际排序.我相信问题是我对引用感到困惑.下面的代码就是我目前正在使用的代码. my @hat1 = [3,4,5,6,7,8]; my @hat2 = [4,1,2]; my @hat3 = [9,8,9,3,4]; #eventually work with unknown number of hats my @binToSort = (@hat1,@hat2,@hat3); my @binSorted = sort { $a->[4] <=> $b->[4] } @binToSort; for my $ref (@binSorted){ for my $inner (@$ref){ print "@$innern"; } } 截至目前,它打印出未排序的数组值: 3 4 5 6 7 8 4 6 5 1 1 2 9 8 9 3 4 4 但我希望能够到达: 4 6 5 1 1 2 9 8 9 3 4 4 3 4 5 6 7 8 我觉得这是一个简单的问题,但我无法找到正确的方法.任何帮助深表感谢! 解决方法
你需要:
my $hat1 = [ 3,8 ]; my $hat2 = [ 4,2 ]; my $hat3 = [ 9,4 ]; #eventually work with unknown number of hats my @binToSort = ( $hat1,$hat2,$hat3 ); my @binSorted = sort { $a->[4] <=> $b->[4] } @binToSort; for my $ref (@binSorted) { for my $inner ( @{$ref} ) { print "$inner"; } print "n"; } 要么 my @hat1 = ( 3,8 ); my @hat2 = ( 4,2 ); my @hat3 = ( 9,4 ); #eventually work with unknown number of hats my @binToSort = ( @hat1,@hat3 ); my @binSorted = sort { $a->[4] <=> $b->[4] } @binToSort; for my $ref (@binSorted) { for my $inner ( @{$ref} ) { print "$inner"; } print "n"; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |