php 归并排序 数组交集

2015-01-24信息快讯网

2个已经排序好的数组交集,学习php的朋友可以参考下。

$a=array('1','2','3','4','22'); 
$b=array('1','3','4','11','22','23'); 
f($a, $b, 5, 6, $t); 
print_r($t); 
function f(&$a, &$b, $n, $m, &$t){ 
$i=0;$j=0; 
while($i<$n && $j<$m){ 
if($a[$i]==$b[$j]){ 
echo $a[$i]." ";//交集 
$t[]=$a[$i++]; 
$t[]=$b[$j++]; 
}elseif($a[$i]>$b[$j]){ 
$t[]=$b[$j++]; 
}else{ 
$t[]=$a[$i++]; 
} 
} 
while($i<$n){ 
$t[]=$a[$i++]; 
} 
while($j<$m){ 
$t[]=$b[$j++]; 
} 
}

©2014-2024 dbsqp.com