冒泡排序与数组交集php做法

php读取二维数组,今天在写一个多文件上传时发现的问题了.我们现举个例子说明一下吧,请看下面的题目.

冒泡排序-php教程版本-交换排序法

$a1=array(‘a1′,’a2′,’a3’);$b2=array(‘b1′,’b2′,’b3’);$b=array($a1,$b2);

$a=array(’11’,’2′,’13’,’4′,’22’);
$num = count($a);
for($i=0;$i<$num;$i++){
    for($j=0;$j<$num;$j++){
        if($a[澳门新葡萄京官网注册 ,$i]<$a[$j]){
            $temp = $a[$i];
            $a[$i]=$a[$j];
            $a[$j]=$temp;
        }
    }   
}
print_r($a);

for($i=0;$isizeof($b);$i++){for($j=0;$jsizeof($b[$i]);$j++){echo
$b[$i][$j],’br’;//print_r($b[$i]); // $b[$j];}}

归并排序-数组交集-php版

这里用到了for语句其它也可以用foreach来实现了,原理都差不多了.

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

原创:

发表评论

电子邮件地址不会被公开。 必填项已用*标注