具体实现方法如下:
- s' ` Q4 {' l( N. v5 O! Y( Q0 V代码如下:& j6 j) x; l$ ~6 F9 B5 M* K. S
<?php
. ]# n) y e8 f% G2 O& R; b/** + Y/ f. s! ~8 q/ T; v( Y
la (3,5,8,11) ( n( g% u7 E, G, z" F
lb(2,6,8,9,11,15) ' f: C( ]8 V' p, l: }# r+ S4 E
合并为lc,有序排列。
0 G V9 `) W. ]5 [用php实现,不能用sort之类的函数!!!!
+ v' e1 K% \' T. W0 _6 \**/
6 M. u8 Y3 D8 f7 cclass union { ) B8 M1 a# N" `2 \
var $lista = array(); : r; P* y _# d) }
var $listb = array();
! u. S5 q, |/ Y3 U1 `& [5 T( dvar $listc = array(); 7 h$ x i* O, d
/ a2 M0 y- Z, t H+ |
function getlenght($arr) { //获得表长度 ( f# @6 A' n' m
return count($arr); : a/ O/ j6 k) \0 Z
} 8 M. M6 M6 ?+ S1 j& e5 `
) H0 i% w/ u6 H, t. q; O& s. cfunction getelement($arr, $n) { //获取表中第n个元素,返回
X: J& w: ]) a; C8 X5 Ereturn $e = $arr[$n] ? $arr[$n] : '';
7 ]" o( B( H4 h6 G; n}
6 C0 W4 h4 a" s0 w& E" m; U3 x) @$ ?, E( s% F
function listinsert($arr, $e) { //表末尾插入元素 " V/ a# o- ^) i2 d
$arr[] = $e; * ^, c6 Z% e( W& B
return $arr;
( L" V& x" B; e8 T6 |; |}
( x+ o: s4 @# ~6 q$ L}
/ ?' v, c- a3 m8 ^# d6 S0 Y6 J$phpig = new union(); / A2 @' D5 u/ }2 a& _! S
$lista = $phpig->lista = array(3, 5, 8, 11);
! A* S+ @& c* z0 _& M$listb = $phpig->listb = array(2, 6, 8, 9, 11, 15);
+ e* z M& `4 }$listc = $phpig->listc; 0 n& }+ p5 n" P& Q& c1 K
$lena = $phpig->getlenght($lista); //取得表大小
g) g J9 M0 a$lenb = $phpig->getlenght($listb); / y' v9 L5 z8 N
$i = $j = 0; 9 w3 i# s$ ~/ ]; l
while($i < $lena && $j < $lenb) {
1 e# ~7 J; ]" F9 ]$ea = $phpig->getelement($lista, $i); 9 |: i5 V* S- S8 V
$eb = $phpig->getelement($listb, $j); 1 ~4 M0 E/ e/ X
if($ea <= $eb) {
" z7 d, V0 h/ m$listc = $phpig->listinsert($listc, $ea);
. C2 F% ~8 r8 g* R2 v$ t++$i; * Z& H# S) e5 V4 t
} else {
9 j7 T) v3 {# H7 D' @$listc = $phpig->listinsert($listc, $eb); , O' E v' M e/ c4 T. r M4 w8 p
++$j; 4 c" n! Y1 | ^! ]. b+ z# J' V# \
}
# N# \: X: A8 i T3 q} F5 h9 {* e T; S& N
while($i < $lena) {
" j) o; Y' {. x& ~ D* f9 c$ea = $phpig->getelement($lista, $i); % H$ U; }6 Y' c5 X$ O- H* `
$listc = $phpig->listinsert($listc, $ea);
1 ^; p( A* P/ L3 ]/ z& x1 s E++$i;
8 |. n3 o6 n1 e: _' [! p% i) C}* D$ e3 a) O; q* [" L$ S4 X$ }+ H
while($j < $lenb) {
( Q1 [% j' t+ k1 S+ v$ s3 ]+ n; F$eb = $phpig->getelement($listb, $j);
) _# I/ Q+ {/ u. }5 m$listc = $phpig->listinsert($listc, $eb);
! u( V0 ^8 a& @" U6 a++$j; ; [ |$ @4 ^" k' A( j. K
}
% e0 D( h ]" o; @6 W; z/ b2 |4 u$ Vprint_r($listc); / F+ r& N% w8 Y& ~
?>
& O7 ]3 h4 |1 f7 K9 u1 s) n7 ^8 ^0 n1 x! ?5 T0 R; E6 g
更多网页制作信息请查看: 网页制作 |