|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ k2 U5 \* C( O, }2 ~
两个vector 去重复,相交,合并的函数分享
8 ~4 Q/ y I5 Q5 F
5 J' H) V% |8 V[mw_shl_code=c,true]//容器vector中元素的去重
' d7 H3 e# y2 W1 [; {9 e$ |4 jvector<int> unique_element_in_vector(vector<int> v){
. f$ d1 x$ |: s/ d8 y vector<int>::iterator vector_iterator;
+ U7 p/ s3 B4 _+ @7 m% c sort(v.begin(),v.end());
: _! h, w Q! ], D( | vector_iterator = unique(v.begin(),v.end()); 2 [. H/ U- K t% ^+ d9 c% H* H
if(vector_iterator != v.end()){
/ k7 k1 p' ]( S8 T v.erase(vector_iterator,v.end());
' P% \* d; `) s" ` K, } } $ b9 ]) c0 G1 V; O, j
return v; 0 G. e. ~4 K+ G4 m1 C" o' |( f, I
} 6 ^3 T ]' A& R& y, O
$ l; U. a+ v: }//两个vector求交集 : u B4 \) z: w' X% ~: n4 F" b. w" L/ G
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){
f P# ]: [& {) C; h$ V vector<int> v;
9 s$ F- d) K: ]* T0 X- u sort(v1.begin(),v1.end()); 5 J& u6 I6 F4 i+ S3 t- f
sort(v2.begin(),v2.end());
6 X3 D& V! e& C4 h" G set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 , Z. m8 k8 G$ v
return v;
, l4 x6 i9 M, T( a0 Q* j& H. v3 [1 x9 e} , }! y2 N! [% J) L! s& _
) S, `( Z5 B; j
//两个vector求并集
+ p3 N- p" j% ]1 O" qvector<int> vectors_set_union(vector<int> v1,vector<int> v2){ , m, \; Z+ |/ {% R8 i/ Z
vector<int> v; & b4 ?& ~2 V* g/ l
sort(v1.begin(),v1.end());
7 U5 B" w8 N9 u; U* l" @ sort(v2.begin(),v2.end()); + h% O3 p9 x1 E8 p9 \
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 ( c b- w$ y9 _7 B# K
return v;
" T D' [9 w3 T- ]( N) ?} 3 p5 \4 i- U8 b* n" o
7 u5 B! q0 V; z! m//判断vector的某一元素是否存在 " y: ^ Y( E6 _& L6 Q: e. `
bool is_element_in_vector(vector<int> v,int element){ % x$ W, [* x' [& e2 f
vector<int>::iterator it;
4 K/ q9 [- _5 y it=find(v.begin(),v.end(),element); % N4 l7 ~3 p3 o4 [
if (it!=v.end()){ ) M# H3 G% h7 c
return true; , L: ?3 e2 a5 J+ d8 c a
} 5 H* w( Y: S; g* k% h
else{ / R2 q @8 w8 t! |7 \4 ?
return false; 1 J* k" N3 ^" c5 G( U
} 7 {3 p, g0 m [* U+ V
} ) t9 T' G4 f% `3 B! j9 v
[/mw_shl_code]8 A/ w. w- b2 Z. c
|
|