php 归并排序 数组交集

时间:2021-08-25 17:27:03

代码如下:


$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++]; 

}