php 两表合并成新表并且有序排列
<?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 ; } //开源代码phpfensi测试数据 while ( $j < $lenb ) { $eb = $phpig ->getelement( $listb , $j ); $listc = $phpig ->listinsert( $listc , $eb ); ++ $j ; } print_r( $listc ); ?>查看更多关于php 两表合并成新表并且有序排列 - php类库的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did29548