|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ R$ b S7 ^7 U+ d0 D两个vector 去重复,相交,合并的函数分享
9 W- {, _9 ~1 E. a8 Z- c7 r) C
9 A* w' ?; q6 k& N& T! [9 \( P[mw_shl_code=c,true]//容器vector中元素的去重 4 m* l" x) p ~* r6 T9 }# N3 I! [) }
vector<int> unique_element_in_vector(vector<int> v){ & T" ^# ^8 A0 R
vector<int>::iterator vector_iterator; ) m! o0 q2 ]3 E7 b! S; f6 Y
sort(v.begin(),v.end()); 1 C% T) m3 h( T7 {7 ^, |
vector_iterator = unique(v.begin(),v.end()); " q2 M& }8 C: T% s' i6 Z. ^5 Q( Z
if(vector_iterator != v.end()){ ! Y1 c( x$ `3 ~# b
v.erase(vector_iterator,v.end());
/ ~ @; F; |$ T7 L0 H5 J7 M; f }
8 F' W# `' i4 V return v;
& }# W' K9 D/ h8 b}
% X/ u7 S, V% ^4 Y
9 r. C& {2 A5 `5 P0 B& P/ d//两个vector求交集 & ^# L5 k F" m8 x, P3 F" f! `
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ . f: d1 l( C* h) v I5 w
vector<int> v; 8 x$ b8 I$ r3 |0 j
sort(v1.begin(),v1.end()); * ^4 r5 q2 Z6 W! q- t5 r/ K4 t
sort(v2.begin(),v2.end());
1 z# M) z$ E* ]5 J+ B( I2 q v. o set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
/ [- v- f8 i7 j9 ]9 T6 w0 M. z return v; : r( u2 B& f* ~9 _
} $ U/ p' x J& }( \7 ~" v8 V
! f* S* D8 [( {; ^. l//两个vector求并集
: t* ^- r6 F; N$ Hvector<int> vectors_set_union(vector<int> v1,vector<int> v2){ , |0 C: p Z! I
vector<int> v; / S+ |7 `+ w9 D7 r4 _. n
sort(v1.begin(),v1.end());
6 H7 q q0 Q3 W sort(v2.begin(),v2.end()); 2 m/ S+ x6 h( n* q" ?
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
& Z" H) _ M5 D$ R$ i return v; : S' \- s: [( g; n
} 0 m" A6 R, z9 Z3 m
( _0 \1 m! j0 r& E% X/ b
//判断vector的某一元素是否存在 ; j* K! X% G/ Z! D' `4 r/ _% \* O) u
bool is_element_in_vector(vector<int> v,int element){ 1 Q" T/ O) l9 T# P! q+ G& `3 H" E
vector<int>::iterator it;
/ d% m |3 }. q) x h it=find(v.begin(),v.end(),element); 3 i6 i- `: v% H6 C# a
if (it!=v.end()){
, f: v" u. Y7 I0 k return true; 7 j3 N0 B& @! }& y
} 7 r' g) G8 F! D- C6 m
else{
4 N: |" `! D/ ` return false; # o3 o) K( D/ j9 }& B; i
} # h% f( T) U6 q6 ]! m" _% Y
}
C. q% ]1 J1 H; q [/mw_shl_code]
0 R2 y' ^& R! ~- Y |
|