具体实现方法如下:
0 Q1 n; e4 o* r d2 q1 F代码如下:
* q, `! g% h6 C<?php 7 q/ k. S" V: x3 \! ~$ P
/**
( w% \! N# n$ _$ D) I9 Nla (3,5,8,11) / J2 Y: Q$ J7 h7 X0 a" m1 G
lb(2,6,8,9,11,15) % e/ B5 T: w) U$ w c/ `& `- t3 o
合并为lc,有序排列。 % S$ G- j) z/ G4 e0 U5 X. T
用php实现,不能用sort之类的函数!!!! 2 M4 c! K# S+ n6 I
**/ / n4 u. l- f* ?+ j2 N- D" e O
class union { / L2 R" E2 ?! v" x7 a$ h: X
var $lista = array();
1 H s3 b+ ]; c# F( rvar $listb = array();
8 b! l$ {0 {. k! y" Tvar $listc = array(); % Q0 p, [: D$ }7 f; M
- Y- n2 l5 u; Y- i4 M* N' b
function getlenght($arr) { //获得表长度
+ r0 W5 H; f7 O' w& Mreturn count($arr); 3 M4 B& G1 ], @1 @
}
1 I8 \' u' U% b$ m$ L& {
. K; l% Z; e* n9 G& S% d! t+ c x. \function getelement($arr, $n) { //获取表中第n个元素,返回 , L% T- v Z. M& r: @5 J8 z
return $e = $arr[$n] ? $arr[$n] : '';
! `9 V# f5 C" }} 8 N; |. q, M) S, T# M( n
/ X2 T# [7 K& E' e G. t) E' Y/ D
function listinsert($arr, $e) { //表末尾插入元素
, v" s/ v! ~9 O, X; R, t$arr[] = $e; # U0 n* `: i1 G
return $arr;
- r* \, X4 x& @2 S% e" G}
) ^8 {9 ~* r, f: \" O' T! N( ?}
2 ?, B+ O% Z) d% l r: d0 n$phpig = new union(); - p9 o# i6 T. E' k* y) {. H
$lista = $phpig->lista = array(3, 5, 8, 11); . b/ Y) u" i s( E
$listb = $phpig->listb = array(2, 6, 8, 9, 11, 15); ' u6 {( P4 m+ d" C7 ? a
$listc = $phpig->listc; 8 |6 ?1 O6 H5 v9 w7 z4 w2 y- U3 t
$lena = $phpig->getlenght($lista); //取得表大小 8 t7 g$ ]2 v( Y7 ?2 t, S' a
$lenb = $phpig->getlenght($listb); % y, X* O8 @3 x2 p5 F# L9 V/ R! y4 C3 h8 k
$i = $j = 0; " T' Y' t1 ]$ p; n+ t
while($i < $lena && $j < $lenb) {
1 U* J8 N( T) A2 E1 r$ea = $phpig->getelement($lista, $i); # y! k- E5 o% v' N& J2 ~
$eb = $phpig->getelement($listb, $j); : w0 J% J8 P( k9 e/ I% i0 S: W5 |
if($ea <= $eb) { 0 H1 P5 m4 T+ m4 u- z2 ^* y
$listc = $phpig->listinsert($listc, $ea);
0 a A7 d7 g7 u7 I7 r7 ?/ S M/ Z++$i;
: S) J/ X! l \5 j! @6 @# q) u} else { 3 |5 ?$ G; |2 W0 W
$listc = $phpig->listinsert($listc, $eb);
; Y1 q# ^$ E: y++$j; ' V, g( Z; Z/ I+ }6 J1 |4 q
}
" R: m) H1 V+ K) V$ f- {} Q& ?4 H b- M
while($i < $lena) {
6 W0 t; N ~* T4 ~. o6 J8 [3 L$ea = $phpig->getelement($lista, $i);
( d; h2 k& M7 Z4 g* ?$listc = $phpig->listinsert($listc, $ea);
2 i" q7 d( k. x! x) K! g9 L% T++$i;
. e( m# N- h: x9 Y}
" P" G( y0 a+ X7 V. _# {5 P# ewhile($j < $lenb) {
4 D) B0 ~3 ]6 A4 a$eb = $phpig->getelement($listb, $j); 7 A4 [4 q- Q, \, R# ]4 X5 ?
$listc = $phpig->listinsert($listc, $eb);
& D0 H4 x6 Y/ f9 u( ^3 c% h++$j;
* E1 l- j+ C7 r}
2 @9 s Z6 f7 [. _1 i3 f$ L7 s# vprint_r($listc); 0 i' c/ ?; C4 m2 ^9 D9 X" E! Z
?>1 j- W z0 e7 P5 Q0 S. p0 }! s
& }( W x9 l8 F7 ?2 J
更多网页制作信息请查看: 网页制作 |