|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
% Y* Z9 l7 E# |* y9 t- w两个vector 去重复,相交,合并的函数分享# u9 x. N/ _% q# I" C8 T9 E+ h
$ f3 s& _5 C! G9 Y[mw_shl_code=c,true]//容器vector中元素的去重
" N ^, v3 u, ~( L! tvector<int> unique_element_in_vector(vector<int> v){ 7 } L1 Y8 _2 J @8 ]' O: t
vector<int>::iterator vector_iterator;
V7 J0 x& a6 V sort(v.begin(),v.end());
+ \2 j' G1 z' W4 ~4 V6 P vector_iterator = unique(v.begin(),v.end());
1 n f# Y. o2 d+ H1 o/ Z1 Q if(vector_iterator != v.end()){ 6 I7 l& m/ O) A
v.erase(vector_iterator,v.end()); % H6 a2 }, l) `, O7 e$ I1 l
}
: [8 q T* ^! P return v; ; f% z% [8 b! C' ~" f: g5 D# ^
}
5 o3 Z. ]; O4 O6 X' T E4 N+ N: F3 \; _
//两个vector求交集 * x9 U5 |2 ^: c# S) H/ d' R# u
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ * K. X1 E" _" D% U
vector<int> v;
0 [0 l1 J( b V# h sort(v1.begin(),v1.end());
, [% P4 @8 L& B2 Y. j ?4 W sort(v2.begin(),v2.end()); ) I4 t) I' J# V; v; j" }
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 5 W" Y2 Q6 e& h: M; B& q3 B
return v; 4 M2 f: v# _6 |0 Z2 `# S
} 3 a5 r: p, D" E9 e3 l3 U8 V
# C6 {" D' t( t u" s
//两个vector求并集
6 b! v. K |0 m. F M# lvector<int> vectors_set_union(vector<int> v1,vector<int> v2){
7 P" ^: j; E# i3 t7 J vector<int> v;
N/ q/ o8 E. y& W! {. m# ? sort(v1.begin(),v1.end()); 0 h% w# ?! ~' M& @; W
sort(v2.begin(),v2.end());
, E( }. ~- x6 \; y+ a5 d set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
# R( m% `$ }5 R+ _ return v; ) C% s& R9 d& c2 b8 k; `! ?2 B$ ~
}
, F" u9 M M5 r4 q6 ^ . E$ M* Y% S# N% U. Q, ~
//判断vector的某一元素是否存在 6 m4 V) W- C5 X" z" B1 `) P! d
bool is_element_in_vector(vector<int> v,int element){
- z* J; Q9 N5 Y3 H/ R vector<int>::iterator it;
) ^) ?9 G1 U, H6 k5 Q it=find(v.begin(),v.end(),element); 3 I w# y3 l2 M" z
if (it!=v.end()){
; m7 G; H* Q/ z) F return true;
' R2 O2 S9 S5 [& u" M( L2 \ V }
8 [9 ?/ L( a# w6 W, w5 k( O/ N else{ ' s6 ?/ g5 z8 ?7 e; \: Z, \
return false;
& c5 ~! ~1 p* S- c$ P } % @: ~/ L' S( S7 J; g6 f
}
+ m1 o4 P {; `3 l) W [/mw_shl_code]8 l6 o& {" l$ d$ T7 K' l# \
|
|