关灯
开启左侧

[网页制作] php实现两表合并成新表并且有序排列的方法

[复制链接]
swmozowtfl 发表于 2015-7-14 22:20:33 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
具体实现方法如下:
代码如下:
<?php
/**
la (3,5,8,11)
lb(2,6,8,9,11,15)
合并为lc,有序排列。
用php实现,不能用sort之类的函数!!!!
**/
class union {
var $lista = array();
var $listb = array();
var $listc = array();

function getlenght($arr) { //获得表长度
return count($arr);
}

function getelement($arr, $n) { //获取表中第n个元素,返回
return $e = $arr[$n] ? $arr[$n] : '';
}

function listinsert($arr, $e) { //表末尾插入元素
$arr[] = $e;
return $arr;
}
}
$phpig = new union();
$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);
?>

更多网页制作信息请查看: 网页制作
 

精彩评论10

正序浏览
seazvyt 发表于 2015-9-29 22:53:18 | 显示全部楼层
 
我刚来~~~嘿嘿~~此声明最终解释权归本人所有。
 
bqtklouu 发表于 2015-9-29 22:53:22 | 显示全部楼层
 
楼猪.重量级人物阿.
 
bqtklouu 发表于 2015-9-29 22:53:33 | 显示全部楼层
 
要相信自己~智商为0
 
wwdu926a 发表于 2015-9-29 22:53:24 | 显示全部楼层
 
明天我给发过来
 
tohme 发表于 2015-9-29 22:52:34 | 显示全部楼层
 
这个站一周前刚刚有了点起色
 
seazvyt 发表于 2016-1-15 21:02:58 | 显示全部楼层
 
这篇帖子构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范(不好意思回错帖了
 
wwzcdenleclv 发表于 2016-1-15 21:04:25 | 显示全部楼层
 
哦~~~明白了....
 
seazvyt 发表于 2016-1-15 21:04:12 | 显示全部楼层
 
感谢党和人民的关爱~~~
 
alapScady 发表于 2016-1-15 21:03:18 | 显示全部楼层
 
我的我的 忘记了 呵呵
 
wwzcdenleclv 发表于 2016-1-15 21:04:28 | 显示全部楼层
 
好吧...那你说...
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

2503帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )