注册 登录
编程论坛 Perl论坛

[求助]将区间存入hash,并与其它数据进行匹配

白鸦 发布于 2020-04-30 17:41, 2136 次点击
楼主刚开始接触编程不久,为了解决以下问题尝试了很多次也查了很多资料,但依然无法解决;

1.有没有办法将一批区间存入hash中,并可以用来筛选出在这些区间内的数据?
2.或者用二重hash有没有实现该功能的可能性呢?

请各位前辈指点一下,或是相关的资料,非常感谢



1 回复
#2
fall_bernana2020-11-04 14:51
以下是引用白鸦在2020-4-30 17:41:21的发言:

楼主刚开始接触编程不久,为了解决以下问题尝试了很多次也查了很多资料,但依然无法解决;

1.有没有办法将一批区间存入hash中,并可以用来筛选出在这些区间内的数据?
2.或者用二重hash有没有实现该功能的可能性呢?

请各位前辈指点一下,或是相关的资料,非常感谢

这个要具体看你的区间是什么样的区间。举个简单的例子,你可以转换下思路。
比如你的区间是[1,3],[4,5],[7,8]而且这个区间的值不是海量的。
那么你可以枚举成
程序代码:

my @a1=(1,2);
my @a2=(5,7);
my %hash;
foreach  ($a1[0] .. $a1[1]) {
    $hash{$_}=1;
}
foreach  ($a2[0] .. $a2[1]) {
    $hash{$_}=1;
}

##然后就可以用
my $check=3;
if (exists $hash{$check}){
    print "在这个区间里\n";
}

与此类似的方式,这个就得具体情况具体分析了


[此贴子已经被作者于2020-11-4 15:01编辑过]

1