|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
$ Z) Z1 E: O* R$ G! \两个vector 去重复,相交,合并的函数分享
. \9 @: \; C- C) [/ x. v2 z6 L; Q
2 O9 y( \" b# t% n- q$ t# H[mw_shl_code=c,true]//容器vector中元素的去重 % F# [- t( l4 n5 e
vector<int> unique_element_in_vector(vector<int> v){
; B: ]! I+ M; O, H" x% z5 d. x vector<int>::iterator vector_iterator;
7 b, s/ U9 b) R2 |: u* C sort(v.begin(),v.end()); $ v6 G+ e$ p" k$ E
vector_iterator = unique(v.begin(),v.end()); ( f6 q' u( n, M `* V; W+ i9 o8 T* ]
if(vector_iterator != v.end()){ - _/ x2 ~; }9 S5 Y/ m# X* [
v.erase(vector_iterator,v.end());
0 x0 D; o" x+ ?) p% U }
8 ? y9 U3 M5 ~$ G; L5 B/ H# e return v;
; f3 N# g" t. A* d0 N}
/ G# } z& J2 c% X& g ( H% |( b5 W" A) X
//两个vector求交集 ' ^1 l1 v* X! p! S# s: u7 J' t. C
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ - W; ]( s) V) H5 A
vector<int> v;
. z/ _4 m6 x; c' Y sort(v1.begin(),v1.end());
+ c6 s, V9 U+ F0 ?( t+ m sort(v2.begin(),v2.end());
; p# D/ S4 t v |$ [ set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
7 G, ~' ~3 S5 y: o; h return v; : S, h2 B3 p, B j1 T. q: c- @
} * C: e3 ~% y6 f9 s P$ P: L, `* l
6 H, S }2 ?: U. U1 O# Z, z
//两个vector求并集 . i" h4 o2 v% f) \: }3 s: L
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){ 9 I: P7 ]* r) h$ J# N
vector<int> v; f" `0 S' H* P/ B
sort(v1.begin(),v1.end()); 8 r% c D0 ?: b3 ~# }
sort(v2.begin(),v2.end()); 3 X' }# T5 {1 a1 z8 h7 X$ N: }
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 . T2 s2 v& Y7 n
return v;
# \3 k7 c! n5 b4 I}
9 r8 }8 [, n N6 f8 b3 Z* [/ r
$ k1 q2 A7 G! {8 T//判断vector的某一元素是否存在 5 O- g7 V) a3 g
bool is_element_in_vector(vector<int> v,int element){ 1 l, a# R# }" Z3 ?. N
vector<int>::iterator it;
: |& ~, A: `5 A A/ @ it=find(v.begin(),v.end(),element); ! |; A& b- k# T/ F6 h8 @
if (it!=v.end()){ 7 f/ r; x& v0 q5 L+ A$ D
return true; ) z% `5 B$ J! M) i6 ~7 }% u5 |
} 5 I6 ?" ^: U( p; D4 }+ R! Y, x# i
else{
# [/ N; i4 e( b( x7 s3 s8 a/ @1 l return false; 6 P1 Z. q# Y6 i1 \5 Z
} 9 t$ N3 G# P+ y8 M
} 6 H( n, v2 q: g, R
[/mw_shl_code]
, @& q5 x" `6 G0 L4 V- ? |
|