|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 [! E+ S5 Z4 V8 C8 ]
两个vector 去重复,相交,合并的函数分享& @; w8 O5 w) g* x! u4 F
1 z" U5 m1 [4 V! A/ z[mw_shl_code=c,true]//容器vector中元素的去重
4 X/ ~' M& G3 ^- J- ]0 ?vector<int> unique_element_in_vector(vector<int> v){ ( M0 D6 c7 M/ u, N7 V$ J
vector<int>::iterator vector_iterator;
g- q4 P- Q, b, R sort(v.begin(),v.end()); , D8 c2 |( V8 o4 W1 e @1 }8 S1 G
vector_iterator = unique(v.begin(),v.end()); ; ]8 D2 l6 k) H/ c; @2 K
if(vector_iterator != v.end()){ 3 R- F) `- ^* `0 c& j( h0 D* Y6 ]
v.erase(vector_iterator,v.end()); 0 E* v1 h5 w8 W$ d
}
& @" r/ _/ d1 ], u return v;
7 b! s, V, c1 D n7 I}
4 p: y; G* G2 N % h% g# i$ Y. \8 Q& P' r9 j ]2 w
//两个vector求交集 9 ^4 I1 X- M- G$ U7 h- O
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ $ `* n' ^( s4 e Q1 x
vector<int> v; - E G; S4 c( A% N% N/ h
sort(v1.begin(),v1.end()); ; z. y8 j2 N) I" }1 b0 A
sort(v2.begin(),v2.end()); 6 z% a5 P9 Q' E2 p6 v$ ]8 U
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
! d6 O- f- ^: f! [6 ]) M return v; 8 ]4 `* n9 q% |8 o" T5 |* ~# f& R
} 0 C# c5 p9 Q/ X" C
9 p. p1 Y4 R! F: ]+ a, F//两个vector求并集
' {! p; \ b5 [5 m" C- i5 b. U1 jvector<int> vectors_set_union(vector<int> v1,vector<int> v2){
' f" v# x3 O2 D vector<int> v;
: z! _" ]! x( D1 B$ O5 @5 F sort(v1.begin(),v1.end());
( o& F$ H6 C P& r: K9 Z sort(v2.begin(),v2.end()); ' O8 L1 o% y" c* ?: A* D& U
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 8 @/ U( [3 b/ B: O3 R b/ q( Y7 i
return v; , | u+ R$ c5 [- Z* [0 w% r4 r
}
! v- s# E8 b- L3 E7 R
* r3 M# w. A9 r+ G- }7 o//判断vector的某一元素是否存在
/ p% y. ^5 ]) m! Rbool is_element_in_vector(vector<int> v,int element){ 2 P4 e1 D( M7 }- L7 _
vector<int>::iterator it; - C2 |! a# ~+ Z! b
it=find(v.begin(),v.end(),element);
: x6 e* N$ ~% U: j6 E6 u if (it!=v.end()){ 1 k5 r. X) y2 q- o5 r0 k
return true; $ N) m. [6 q. z' f( q( o
}
9 R, m, N) n9 t! V6 J8 ^* i else{
2 I, z" Q- L g; h0 z return false; ( ]! R) c6 V. ^6 I
} & u' f* c2 P9 i( j9 P
} ; X+ O5 C) v# i9 S' O
[/mw_shl_code]
' n2 a1 _9 T1 t V. Y |
|