Perl里一个数组@A[0] 'hvacmall.o' [1] 'idlemopn.o' [2] 'idlemcnd.o' [3] 'idlemrpm.o' [4] 'CAL_HVAC' 另一数组@B[0] 'FF' [1] 'idlemopn' [2] 'hvacmall.o' [3] 'pageff_const' [4] 'SW_NAME' [5] 'SHARED_CONST' [6] 'UNPAGE_CODE' [7] 'CAL_HVAC' [8] 'idlemcnd' 这样如何能判断A是B的子集, 谢谢了
3 回答
慕慕森
TA贡献1856条经验 获得超17个赞
my $flag=0;
for(my $i=0;$i<@A;$i++){
for(my $j=0;$j<@B;$j++){
if($B[j] eq $A[i]){
$flag++;
last;
}
}
}
if($flag==@A){
print "\@A is part of \@B";
}
其实就是同时遍历A和B数组,如果A数组中的值在B数组中存在,则计数加1,当全部遍历完成之后,则$flag的数表示A数组中在B数组里面存在的个数。当存在个数和数组A中元素个数相同时,则说明A数组为B数组的子集。其中last是防止A数组中某一个元素在B数组中存在两次时错误多加一次。
- 3 回答
- 0 关注
- 719 浏览
添加回答
举报
0/150
提交
取消