|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
H' w7 t& S/ }两个vector 去重复,相交,合并的函数分享
) R$ P9 ^+ u& X, r
2 [ k; v$ P9 M6 K; i/ ~[mw_shl_code=c,true]//容器vector中元素的去重 : E6 V- ^, U# g4 r2 j
vector<int> unique_element_in_vector(vector<int> v){
+ l) v) y0 S% c! Y$ L" }1 e vector<int>::iterator vector_iterator; 3 S2 O4 S( U3 e" ^& d; w6 t/ y/ t1 ?
sort(v.begin(),v.end());
, \3 n1 x1 S6 t: V/ H" N5 d! a vector_iterator = unique(v.begin(),v.end()); 7 z2 T! J0 l* _
if(vector_iterator != v.end()){ 7 n! ~" ?7 c6 j
v.erase(vector_iterator,v.end()); % i1 u' V" E N$ O1 |2 c
} 5 v, p2 u0 v$ \ }! E$ N( a
return v; . y1 V/ A4 r( B' t& o, k7 @
} 9 {* e/ N' q0 t% q( }" x& S$ M
+ D! z4 W9 y$ O2 j! h& A! M% Z
//两个vector求交集
' _4 o& W& h p8 Jvector<int> vectors_intersection(vector<int> v1,vector<int> v2){ ' `) |% ]+ d% c2 N% P3 k
vector<int> v; - @0 b# G2 O+ b C, G$ T
sort(v1.begin(),v1.end());
+ }$ F# L/ H/ A# M7 ~' `7 \ sort(v2.begin(),v2.end());
7 E% J6 G) K% `' |# t set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
7 G. [9 [+ C7 L7 T3 S: U5 P2 H T8 s; @/ ` return v;
+ d2 M% k4 J0 ?7 H @! L) r) R! t}
1 {4 P, q b' Q. C2 x * L, f1 u" B" c& N6 u
//两个vector求并集 & ~& Q8 B# X @* q) S7 a4 D. ]9 W* x! D
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){ 2 z8 D8 v0 z! l2 o7 u
vector<int> v; / H4 D6 c& ?# j* k& f) i
sort(v1.begin(),v1.end());
7 p) b# V; D& L# d sort(v2.begin(),v2.end()); 2 T) E# [, d, q, K; O$ T" e
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 9 f4 s! S' l5 S4 w" T, _4 V
return v;
% v6 \' @* t2 I$ G) w} $ r2 \3 l1 ?, h8 R$ z0 `) a
. k; b+ r& }% v- I- j8 i' g" }
//判断vector的某一元素是否存在 / y$ ~0 h- r- B7 J5 R7 ~
bool is_element_in_vector(vector<int> v,int element){ ) T; }% O. p: c" j- ~! x
vector<int>::iterator it; 3 d5 K9 }2 [; S4 y
it=find(v.begin(),v.end(),element); / |; ^1 D0 T. @9 n8 w* ~6 o
if (it!=v.end()){
& `7 D; @; a9 k$ H& i2 A return true; 4 n2 r/ k$ Y- G% I
} " w F8 L& Z/ Y! ~3 ?" C) _; w
else{ 1 T& q1 J. m1 m8 N9 [* Q/ D+ r
return false;
/ N/ _3 k% R. N0 H6 N } 8 {) }, X2 w+ l/ F" ?, u: i
} , v3 b. @/ U0 }* u( q8 G
[/mw_shl_code]+ a5 s3 d9 N2 `# m) b
|
|