具体实现方法如下:
( E! d% t, q5 [; D0 l+ Z* S1 F% B* f- `代码如下:
. |, q2 h+ v3 @8 u<?php ; P2 x; L8 B# C- {" d6 X- w2 \& I
/** " B/ [. J5 i6 N9 f
la (3,5,8,11) 4 a, r. m* d$ ^3 T; g1 b) H
lb(2,6,8,9,11,15)
8 v- q! Q, N0 a! u合并为lc,有序排列。 5 C+ ?6 @2 D/ q
用php实现,不能用sort之类的函数!!!!
8 O$ ~& c1 v5 m$ p" k% J& Y**/ $ b0 \ P/ R+ P4 n7 k
class union {
( ]1 b0 H/ E7 _# ~2 ~var $lista = array();
/ N! C$ C h1 s% `- Dvar $listb = array(); % ^: Q$ q$ k$ H- S; x: D8 K
var $listc = array();
) h) g! U. c f5 {" r; f" N8 Z6 m9 n% P4 s
function getlenght($arr) { //获得表长度 . @/ [; b4 W3 f( u1 O
return count($arr);
- E- C2 a! ^) T0 `} ! q2 L F8 P/ q9 O; D2 d7 D
- ?: o, |+ x2 ]1 Gfunction getelement($arr, $n) { //获取表中第n个元素,返回 1 X' h1 T: y" t y
return $e = $arr[$n] ? $arr[$n] : ''; - b, U5 E. X3 i/ F
}
& U, H- k4 e2 M. Z0 ?5 n" H5 N* ^8 G7 I4 s4 {! H
function listinsert($arr, $e) { //表末尾插入元素 1 P5 Q+ a' L. M' r
$arr[] = $e;
" r/ o* N8 R% S3 ireturn $arr; # P6 M: C/ Y. F( l
}
, V( q5 D @: A6 W0 {}
. S2 h" X3 K L: r$phpig = new union();
0 R7 f4 i$ ?) x: f/ U- s$lista = $phpig->lista = array(3, 5, 8, 11); + T" m& Z9 G6 o5 S( E
$listb = $phpig->listb = array(2, 6, 8, 9, 11, 15);
" q: {9 |/ T1 p2 s$listc = $phpig->listc;
9 X5 W4 f- p. ~$lena = $phpig->getlenght($lista); //取得表大小
9 @( E1 G4 V3 ?. B! X$ [: i$lenb = $phpig->getlenght($listb);
* ]2 a, V' ]# m2 E7 h$i = $j = 0; 5 Y( y I' y1 F7 H6 y3 h
while($i < $lena && $j < $lenb) { * c3 u) N: I+ s3 i( p* s/ `4 m) e
$ea = $phpig->getelement($lista, $i);
X9 p* @7 D+ q$eb = $phpig->getelement($listb, $j); 3 ^9 r' y# G" Y1 O
if($ea <= $eb) { 5 k) i; l; z9 \ {' z
$listc = $phpig->listinsert($listc, $ea); 5 k. y E0 @3 P
++$i;
3 ]9 M# }& c0 }+ T} else { - W$ t: [- v+ ?( a
$listc = $phpig->listinsert($listc, $eb);
% ]9 N- p- b S% y++$j; % {4 ` S! Y/ ]/ G1 J3 F6 G. \* s
} 3 W$ H& r6 ]: c+ ^
}
9 z. L6 H- m8 {7 t* {9 ]while($i < $lena) {
- W! p, l/ ~$ h% l0 j4 q6 r- o$ea = $phpig->getelement($lista, $i);
$ R/ P8 g( v0 C4 ?' a- d5 {4 y- ~$listc = $phpig->listinsert($listc, $ea); ) D" _6 i- O4 ]
++$i;
; h2 p" C$ E, s" n( S6 |# G}- M1 {. ~0 ]* ~
while($j < $lenb) {
! D. i6 `/ `8 o$eb = $phpig->getelement($listb, $j);
, _/ A4 [6 ?+ Z% V7 y3 Y$listc = $phpig->listinsert($listc, $eb); / U2 Q$ h2 b5 @* Y" C
++$j;
0 O o% C) |$ {3 B! w}
, m2 v$ ?) H: Eprint_r($listc);
7 U" p( ^! J7 C$ K) {/ X9 C?>7 P4 z, C7 f. h2 `
0 u0 x# o% ?" v: \) l- }更多网页制作信息请查看: 网页制作 |