|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 v$ n* @5 v% ^" S8 I
两个vector 去重复,相交,合并的函数分享
+ I2 w# w+ @7 o& ^1 |( v; p8 i4 |9 m1 e ^0 ?2 \7 g8 l
[mw_shl_code=c,true]//容器vector中元素的去重
+ i- J( V; Z5 C( x H9 lvector<int> unique_element_in_vector(vector<int> v){
$ y0 ~6 Z* Q" {: r9 l vector<int>::iterator vector_iterator;
. K# r3 U& I( ^1 d5 r5 A, j8 @/ K sort(v.begin(),v.end());
) Y p4 K+ E- f; l' r% ^ vector_iterator = unique(v.begin(),v.end());
, d1 m3 B# [( @2 ^* ~ if(vector_iterator != v.end()){ 5 W% V6 t$ g2 `6 V3 N* e4 f9 ~
v.erase(vector_iterator,v.end()); 0 Y2 l% l9 ~% ?: K8 a" z0 V
} . ^5 Y7 R" h( r* b8 F. z
return v;
3 I, w7 f9 y' F! b: B. ?9 y9 S}
* I4 X N# U' Q" L% @. N, V( N$ P
/ M1 J. c8 b" |! t- |7 u//两个vector求交集
' I! W2 u7 @6 E; vvector<int> vectors_intersection(vector<int> v1,vector<int> v2){ * m5 J; [1 p, ^ h# l" m
vector<int> v; 7 d* F- I: D4 [* D0 i( @
sort(v1.begin(),v1.end()); 8 d4 K* }4 k% j$ E
sort(v2.begin(),v2.end()); 3 E' b* A' X8 o: V
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 " W2 J6 W0 q' Q: _$ C
return v;
3 Q0 w! D% _. d, I- ?# @6 y) s} - K3 X6 N+ l. ?! g) [
- S6 Q5 @* s& H7 v6 W% i9 s
//两个vector求并集
. v' P# w+ E3 q* i9 C" }vector<int> vectors_set_union(vector<int> v1,vector<int> v2){ , t6 }7 U2 u1 ?2 Y
vector<int> v;
7 M4 m" l: N5 |: r+ R9 \+ r sort(v1.begin(),v1.end()); ; t p: N) m/ n2 V5 O
sort(v2.begin(),v2.end()); : Q F+ }* P( r3 e; U6 \
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 . ^2 g3 t/ o2 b/ l+ q3 S ?
return v; : ^+ S. Z8 ?! H: F0 @8 C
}
P+ Z) S h$ ]" Q' Z 6 @# P4 G; B) ^! Z0 _
//判断vector的某一元素是否存在
% K4 E' P0 d# kbool is_element_in_vector(vector<int> v,int element){ $ q0 z" @4 \ U ]
vector<int>::iterator it; 0 ^7 J- G0 {5 z4 X2 A k
it=find(v.begin(),v.end(),element);
# t2 z, d1 F+ s9 O. l/ s+ j if (it!=v.end()){
0 k+ ~% i4 t0 Q7 Q return true;
6 k A9 L j: s' I1 n } $ K# q1 f4 H. S& \1 H+ E7 |7 P
else{ / E/ b* P* r1 k: k. e
return false; . d) r8 ?: @7 d
}
& a9 L3 t- \+ s5 q} 7 ?0 ]- u: z# i5 T9 d
[/mw_shl_code]' {2 B0 x; m6 S( G
|
|