|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" i" Q" i8 }( q" L2 N) h7 z
两个vector 去重复,相交,合并的函数分享
* x3 I7 S/ \% H+ [6 O& K- o
0 m9 ~; I( ~2 t1 y& _[mw_shl_code=c,true]//容器vector中元素的去重
3 |. \& c0 _3 N* v/ K3 [5 K9 qvector<int> unique_element_in_vector(vector<int> v){
; y" l& [! S5 n }' r5 E9 w vector<int>::iterator vector_iterator;
4 K5 i2 @6 V$ I' ? sort(v.begin(),v.end()); / V$ k+ f/ ]% Q: ?
vector_iterator = unique(v.begin(),v.end()); / i# [8 T: `! _
if(vector_iterator != v.end()){ $ Q2 y' x! C C- {1 m
v.erase(vector_iterator,v.end()); 9 ? ]: g0 e' X# M5 ^( m
} 0 L5 `. P/ I( Y
return v;
# w) C# j2 f, \1 n& f! m2 l1 v} - W$ F/ k' S) ^! K; p9 U& e/ g2 ]5 C
7 `& {$ i4 J* ] O% f//两个vector求交集 + g. X. Y8 }2 ^, H$ X# H2 o
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ ) f; {! a! Y) D, m# m0 u/ C
vector<int> v; - l4 z; F# x% T3 m, N Z
sort(v1.begin(),v1.end()); ' o' |+ C: z# {% R# x
sort(v2.begin(),v2.end()); + K5 Q" g" N; D9 O9 R4 q& G3 T- ~/ k
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
. t8 A- g1 i' i9 w4 N return v;
# ]0 M7 y6 L. E( V5 L' `}
9 R, V- U- W9 Z5 |2 L
' b( Z5 x3 a* q4 h. ?' Q+ }//两个vector求并集
8 }9 p5 d# o1 z' V, hvector<int> vectors_set_union(vector<int> v1,vector<int> v2){
( q7 O, x+ I' E: u' o% l vector<int> v;
7 a c* s+ |& q9 D sort(v1.begin(),v1.end());
3 _& Z l) z& |, V7 p% L sort(v2.begin(),v2.end());
9 ^* h* [+ Y4 |4 K9 s7 s3 | set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 & V* e* {. T* m
return v; 6 v! u- c& w% t$ r5 A# j4 i
} . ]. k$ T2 w7 _9 F. S! V# O6 n
& I) j. p& y+ d- D* U; T s$ J//判断vector的某一元素是否存在
* E6 @; Q @8 }/ ~2 g4 Wbool is_element_in_vector(vector<int> v,int element){ 1 f7 m/ v9 [; d( ]
vector<int>::iterator it; - A" j; W2 m, Y- `
it=find(v.begin(),v.end(),element); 5 M7 I! T: i) L, W7 o/ d
if (it!=v.end()){ 2 N5 i% C7 R9 u
return true;
3 p5 V9 `! b2 h9 t( r7 X% f9 s }
& L( o5 I/ a8 e/ { else{ + b/ K4 h6 r0 i5 P: \' p: y- ]6 V* U
return false;
; `6 g% k% r7 ~& {+ x } # t: R7 X( ^- Z
}
8 ]+ S3 K/ A5 R0 R0 E* a- u [/mw_shl_code]
- c! ]$ G' Z+ k$ M' `, ] |
|