|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ i( Z8 ]! C& C: q, S两个vector 去重复,相交,合并的函数分享
0 @6 u- X5 Z9 O$ w. @( w, y! I# @: [* f+ X2 I" ]8 {
[mw_shl_code=c,true]//容器vector中元素的去重 2 F9 O* R d9 z
vector<int> unique_element_in_vector(vector<int> v){ # F! A2 j# o- s8 O
vector<int>::iterator vector_iterator; 0 @2 O9 r ?3 U. W+ z6 x
sort(v.begin(),v.end());
6 z; P4 [2 X( T8 h( W vector_iterator = unique(v.begin(),v.end()); , o% o. j( T: |/ u6 M+ x$ Y
if(vector_iterator != v.end()){ + _! w7 K# s+ `
v.erase(vector_iterator,v.end()); 6 r$ a1 u1 h; U4 ^0 I: s
}
2 K9 T' \* M$ H2 h- Z: K. H return v;
& d) q& y9 D! r/ ?# z1 n( ^} " o f! Y) ]- e
0 l; {; E" i# S+ Y% f% h' s' Q' M//两个vector求交集 # g9 M1 N8 f: G4 g3 _
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){
. d ]. W7 e& V7 j# d% ?$ [ vector<int> v;
) g7 V7 _4 |, q1 l* P& |4 K sort(v1.begin(),v1.end());
5 g! w( \+ k& m/ i, ^" j8 K sort(v2.begin(),v2.end()); % P/ t; j0 ?( M# r- U( V
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 & }+ v. @* T2 c) b8 A. g, u
return v;
( M" s' F2 E7 b0 F; B8 k1 G& r}
. M2 }$ u9 y1 A# }, E" J
1 G `) G7 d. B9 R+ `9 Z//两个vector求并集
, a+ f7 l, c+ o: B5 K% kvector<int> vectors_set_union(vector<int> v1,vector<int> v2){
3 A4 n. ]) s( E vector<int> v; ' Z' P! q+ L! ~0 ]9 q- @; b, h/ |
sort(v1.begin(),v1.end());
2 C( D& w9 B% l# o9 n8 { sort(v2.begin(),v2.end());
# R* e( t- F4 ?3 ]$ z, B& [/ }2 [ set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 * ]: T8 U, u$ D6 K
return v; : a& J3 Y# f* }
}
2 `6 b) g6 y ^. X- K1 u/ Y0 o9 W$ _ H5 Q7 J4 B6 A
//判断vector的某一元素是否存在
& d, ?8 E! p) m( E _! o/ Z) mbool is_element_in_vector(vector<int> v,int element){ " Y0 z! q9 Z ^, m* f1 P) w
vector<int>::iterator it;
" j' j I1 W( u/ E2 c0 Y it=find(v.begin(),v.end(),element);
/ L2 m/ J0 z- t& ?6 m: t4 Y, W( j) y6 o+ A if (it!=v.end()){
6 T1 r* I( f& A! G return true;
) ?) P1 k9 D; d9 f } 7 h" \5 e i& P* d
else{ , g4 {% ~- y7 ]' S0 B! K1 u
return false; ! f/ z0 i3 l1 y K: ?
} - S( x% V- Y2 T* B* x
} ' p. Q$ R3 c. G$ I0 n2 h t+ t
[/mw_shl_code]
2 |. h0 Q: A' B- K1 ~4 s |
|