具体实现方法如下:
" Q J) R0 V3 [0 }代码如下:5 N* y) a2 Z! O0 F: i
<?php
) h+ ^7 U$ ^8 G3 o/** Z0 M5 C4 p( j/ h
la (3,5,8,11) + i5 N7 ^2 `/ f
lb(2,6,8,9,11,15)
* a8 i& ~* [ ]- Z% f8 ]7 T0 C合并为lc,有序排列。 ) n* G0 F( Q- p6 [0 }" C: z5 `
用php实现,不能用sort之类的函数!!!!
' b4 @/ l) T, K- I5 U**/ : d! u3 ^+ k; ?' [: p
class union {
|" ~6 K: @+ \% c/ U: \var $lista = array();
! D; d( i( o6 r- m& L9 kvar $listb = array(); . N& N& `6 U' z/ S' \) j- Q3 \
var $listc = array(); & {/ O! }8 i3 p. t8 P
- T# v1 ?0 o) C" t# W
function getlenght($arr) { //获得表长度 : I' n! Z1 K9 I% J# u% W2 G
return count($arr);
. B" p7 n6 J* C( j) \4 O; Z( n: S}
, i5 M: `3 E0 }, `. k, W5 M y) i1 s, u
function getelement($arr, $n) { //获取表中第n个元素,返回
2 e2 t& R( p: R G" Hreturn $e = $arr[$n] ? $arr[$n] : ''; ' v& B% u) o* I8 k" z
} 1 B/ t* U+ {, ?1 K3 ^% g/ [$ X2 [
4 o- m$ U* g. v. a/ j, _3 e; Wfunction listinsert($arr, $e) { //表末尾插入元素
9 _; @8 L* Y% @, m; V% N" g$arr[] = $e;
5 o3 a% r, r5 z5 Preturn $arr;
( K2 d3 l7 F7 k$ L} 4 H. d1 S9 P2 a. N, b
} * Q% L* K4 @6 }
$phpig = new union(); 6 _1 ]( g" f- x1 o M; M/ l# _
$lista = $phpig->lista = array(3, 5, 8, 11);
- F s3 Y* u0 y9 p2 P' e2 r& a$listb = $phpig->listb = array(2, 6, 8, 9, 11, 15); ; ~7 o4 g2 y( {0 h
$listc = $phpig->listc;
, ^1 p, z" i5 C1 V: J7 t5 ?4 w$lena = $phpig->getlenght($lista); //取得表大小
* A; w9 {& I! d; G, V# i1 q9 B$lenb = $phpig->getlenght($listb); 6 p6 Q5 k5 I$ H* c1 _3 m) L
$i = $j = 0; 1 e ]" u/ H" ~, X* v
while($i < $lena && $j < $lenb) { % M F3 |% X- l2 f. `# B
$ea = $phpig->getelement($lista, $i);
8 d f% Z4 W9 O# ^0 \6 F* S$eb = $phpig->getelement($listb, $j); + J B! s! E9 G( Q) q: h$ A L
if($ea <= $eb) {
+ \" L4 \& }. {% J+ x- p$listc = $phpig->listinsert($listc, $ea);
( J( }! ]- `! E+ x! @/ ^, m# ^++$i;
5 N' `/ b6 N/ ?7 {& }} else {
( x8 f4 L5 x: d: [5 T$listc = $phpig->listinsert($listc, $eb); U6 p8 `& i8 h6 n/ \/ w3 g
++$j;
; {) U8 _% x$ Q* }2 _' t' y/ p" L} / ]* Y/ t. Q |3 `
}
7 }3 x4 d3 }. |1 s* @while($i < $lena) {
3 a) Z. p9 L; J% j$ h$ea = $phpig->getelement($lista, $i); 0 s$ {, l- d( N' k! g) O
$listc = $phpig->listinsert($listc, $ea);
( B8 r2 B" C, }4 p4 d2 d5 i++$i; 9 L. `0 R0 e( H+ T: v
}
5 |0 W3 V% j- C- u3 zwhile($j < $lenb) { , Z, h6 b J9 S1 S# K- E- b! L7 G
$eb = $phpig->getelement($listb, $j); 7 [4 o' @1 s: L \! e7 s; z& ^
$listc = $phpig->listinsert($listc, $eb); * I/ |& a/ S& o* s; n& v! K
++$j;
* i4 J8 N( A ]2 x8 N5 `! b}
1 U; A# g7 |5 q' Hprint_r($listc); # I" e. d5 |* j3 |' ], O4 K; K* }
?>
3 o$ j# v5 n4 [4 a6 N- U6 S
# W7 d/ Q5 j1 b* k/ f% z更多网页制作信息请查看: 网页制作 |