php语言

php如何快速实现两表合并并有序排列

时间:2025-05-21 12:35:03 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;

  }

  while($j < $lenb) {

  $eb = $phpig->getelement($listb, $j);

  $listc = $phpig->listinsert($listc, $eb);

  ++$j;

  }

  print_r($listc);

  ?>

【php如何快速实现两表合并并有序排列】相关文章:

php如何实现快速排序04-03

如何运用PHP实现字符串逆序排列02-17

PHP中多态如何实现05-06

PHP如何递归实现json类06-27

如何实现PHP图片裁剪与缩放07-13

如何用PHP实现找回密码02-03

PHP弱类型变量是如何实现的05-31

php如何实现验证码06-13

PHP中如何实现crontab代码05-30