加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数组 – 带引用的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";
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读