好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php 两表合并成新表并且有序排列 - php类库

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类库的详细内容...

  阅读:47次