php实现两表合并成新表并且有序排列的方法
本文实例讲述了php实现两表合并成新表并且有序排列的方法。分享给大家供大家参考。
具体实现方法如下:
<?php
/**
la(3,5,8,11)
lb(2,6,8,9,11,15)
合并为lc,有序排列。
用php实现,不能用sort之类的函数!!!!
**/
classunion{
var$lista=array();
var$listb=array();
var$listc=array();
functiongetlenght($arr){//获得表长度
returncount($arr);
}
functiongetelement($arr,$n){//获取表中第n个元素,返回
return$e=$arr[$n]?$arr[$n]:'';
}
functionlistinsert($arr,$e){//表末尾插入元素
$arr[]=$e;
return$arr;
}
}
$phpig=newunion();
$lista=$phpig->lista=array(3,5,8,11);
$listb=$phpig->listb=array(2,6,8,9,11,15);
$listc=$phpig->listc;
$lena=$phpig->getlenght($lista);//取得表大小
$lenb=$phpig->getlenght($listb);
$i=$j=0;
while($i<$lena&&$j<$lenb){
$ea=$phpig->getelement($lista,$i);
$eb=$phpig->getelement($listb,$j);
if($ea<=$eb){
$listc=$phpig->listinsert($listc,$ea);
++$i;
}else{
$listc=$phpig->listinsert($listc,$eb);
++$j;
}
}
while($i<$lena){
$ea=$phpig->getelement($lista,$i);
$listc=$phpig->listinsert($listc,$ea);
++$i;
}
while($j<$lenb){
$eb=$phpig->getelement($listb,$j);
$listc=$phpig->listinsert($listc,$eb);
++$j;
}
print_r($listc);
?>
希望本文所述对大家的PHP程序设计有所帮助。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短