php实现两表合并成新表并且有序排列的方法
发布时间:2020-12-13 02:15:17 所属栏目:PHP教程 来源:网络整理
导读:《:php实现两表合并成新表并且有序排列的方法》要点: 本文介绍了:php实现两表合并成新表并且有序排列的方法,希望对您有用。如果有疑问,可以联系我们。 PHP应用 本篇章节讲解php实现两表合并成新表并且有序排列的办法.供大家参考研究. 具体实现
《:php实现两表合并成新表并且有序排列的方法》要点: PHP应用本篇章节讲解php实现两表合并成新表并且有序排列的办法.分享给大家供大家参考. 具体实现办法如下:
代码如下:
<?php
/** la (3,5,8,11) lb(2,6,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,11); $listb = $phpig->listb = array(2,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程序设计有所赞助. 欢迎参与《:php实现两表合并成新表并且有序排列的方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |