EncapsulateList): (region (EncapsulateList) × location × int) ,
List ????? getmakeList: ?x : (region (EncapsulateList) × location × int) getList(makeList(x ))? ? region? ??t t?? ? ?s ??st?????t?? ??t? t??? EncapsulateList ??st??? ?? why(List)? ???s ?s ??????s?? ? ??tt?r ???????? ?? r???rs??? ???ss?s? ??t? s???t???s ?r? ?????t???? ??t? t?? ?t??r ??t??s???s t??t ?? ?r?s?? ,
value)(p)(p) H sr ?Rbc (value)(p)(p) H sr ?a (p): location H sr ?b (p): location ??????r??? ???ss Long ??s)(p) H sr ?Rbc?value (p)(p) H sr ?a (p): location H sr ?b (p): location ?? s?? ??? ???t ?? ??? ?s s?????? ? r??r??r t?? ?r?????ts ?? t?? ???? ????t??? s? t??t ???t? ??????s ?????r ?rst? ? s???t ????t???s ??t? ? ???t? ?????? ??t? s???r?? ????t???s ??t? ??? ??ss ?r?????t? ???s ?s ? ????r?????t??? ?? t?? ??rst??????r??t, ?s f ? ?? r??r??r h(p)(f ) ??t? h(f )(p)? ??? t??? ??tt?? t?? ????t??? ??t? h f (p) ,
??s m ??t???r ????s? ?? ?? ??tt?? ?s ???? ?s ??ss????? ?? ??t??? n × m ??r?????s? ?? ??st??? ???ss C ??s m r?????s ?? ????t?rs ??t? o ????s? ?? ??t??? n × m × o ??r?????s? ??? ?????r ?? ??r?????s t??s ?r??s q?????? ???? t?? r????? tr?? ??????s ?????r? ???t??r ?ss?? ?s ?? t?? tr?? ?s ??t st?t?????? ,
?t? H s (r )(p)(value) ?s ????ss?? ?? t?? ????t??? ????? tr??s??t??? t??? ?t ?s ? ???? ???? t? ??tt?? t??s ??t? ?s H sr ?value (p)? ??r?????? ? ?r??? tr?? ?s ? tr?? ???s? r??t ?s ??????? H s ? ???s r ,
s] ??? y ??s t??? [r ]? t?? ??t? r , s, f ?s ????? t? t?? ?r??? tr??? ??? s??? ???s ?? x .f ?s ?ss?? ,
?t? H s (x 1 )· · ·(x n )? ?? ?rst s???t t?? ??t? ??t? t?? ??rts? H s (x 1 )· · ·(x k )(y 1 )· · ·(y l ) ???r? k + l = n? ??? ???r? ??t??r? ? ??t? H s (x 1 )· · ·(x k ) ,
y l ?? t?? ??t? ?s??? get ??? t???? ?r????t???s? ?? ?? ?r? ?ss?????? t?? ??t?? ?? ?s? t?? ?s??? set ??? t???? ????rs? ?? l = 0 ??? H s (x 1 )· · ·(x k ) ???s ??t ???? t? ? ???? ?? t?? ?r??? tr??? t??? t?? ?r??? tr?? ?s ?????r t??? ???t ?s ????? r???? ?? ?t??r ??r?s? H s (x 1 )· · ·(x k ) ?s ??t r??r?s??t?? ?? ? s????? r???r???? ??r?????? ??t ?? s???r??? ,
r : region List , l : pointer ): int ??????r? ?? length ?s ?????s ??????? ?? ??sts ????? ?r? ??tt???? ????? ???? t???r r????? ?s r??r?s??t?? ?s t?? r???r????s? ,
Rnext: region List , next: pointer , l : pointer ): int ??????? ??t? t??s tr??s??t?? ,
? s ?s x .f ? e ??? x .f ??s t??? [?]? ? s ?s ? ????t??? ???? ??? e ?s ??? ?? t?? ??r???t?rs? ???s? ?????t?? t??? ?s [?]? ? s ???t???s ? s??????r?ss? ,
s, p.Rleft) ?s s????? ?? ??s?rt??? ?? ????t???? ?s s ?s s?????t?? ??? p, Rleft ?s ??t ????? ????s??? ??r? ?s t?? ??t?r?????t? ???? ?? ????t??? initPair ?? t? ???? (?) ??t?r ????r????? ??t r????? s: Long; ??t x = ??? Long [s]; ?????? ???t? p.Rleft; ???? x ,
[?] ?s ?? ?? ?? ? ? {f 1 ,
??s?s? ???s ?s ??? operation(?, ? ? ) r?t?r?s t?? ???t? s?t ?? ???r?t???s? ? operations(?, ? ? {f 1 , · · ·, f k }) = ? ???s ?ss???s k, 1 = ? ?? ? ? ? 2 = ? ? ?? ? ???t? ? = ? ? ? ??? ??????s x : ? ?s ? ?t t?? ??? ?? S a ???r? x : [?] ?s ?? ?? ?? t??r? ?s ?? s??? x ? ????? ??? ??????s y: ? ? ?s ? ?t t?? ??? ?? S b ???r? y ,
) r?t?r?s ? s?t ?? ?????t? ,
??? s???ts t?? ?rr?? r??r?s??t??? t?? ???? ??t? s???r?? ?rr??s? ,
?s? ???? r?????s ?t t?? t?? ?? t?? tr??? ?r? s???r?t?? ?s st?t?????? ????r??t ??r?????s? ,
?? ??s? ?????r? t??t s??? ??t??r???s ?r? ??? ?????? ?? s??? ?t??rs? ?t?t?? r?str??t???s ?r????t ????t ????s ?r ,
?s ????? ?ss??? t?? ????r???ts ?? t???r ?r?????ts? ?? ???????? ??????r? t??s ?q????t? ?s r??????? ?? ??r??ss??? ? × ? ? G ?r ? ?? ?? ????? ?s ??????? ?? t?? t??? s?st??? ?? s??? ??t??t? t?? ?s? ?? ? t??? s?st?? ??s? ?????s ,
?? v * j ?? w st?t?s t??t t?? ???? ???t???s ????t?? t?? ??st???t ????t???s i ??? j ?? r?s???t??? ?????s v ??? w? ?? r??s?? ????t r???rs??? ??t? str??t?r?s s??? ?s ??sts ?s??? s???r?t???? s?? P list (i ) ?s ? ?r?????t? st?t??? t??t i ?s ? ,
Pr?????t? ?(f ) st?t?s t??t ?r??? f ??s ?r??? ?s??? ?r?s? ????t???s ????? ?t ?s s???t???s ?????? t?? s??????? ????t r?q??r????t? ?t ?s ?s???? t? ???? ??t? ??????t???s? Pr?????t? disjoint(f, g) ,
?????? ?r???s? ???s r?????s ?r? s?????r t? ?r???s? ??????r? t?? r?????s ?? ??? ???P??? ?? ?????????? ,
P?t?r ?ü???r ?r??? t??t ???ss ????r???ts ?r? ? ?s???? s???????t??? t??? ????t??? ??? ????rs s??? ?? t???r ?r?????ts?? ??t t??? ??r?? t??t t??? ???? t? ,