|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: i! d$ _1 O6 @) ~两个vector 去重复,相交,合并的函数分享9 K/ w/ c! w; v) w$ _( ~3 s2 O
2 C4 Q. S6 k: D6 ^, M3 c/ @[mw_shl_code=c,true]//容器vector中元素的去重 " X4 k% c+ Z4 B+ B9 j9 ?
vector<int> unique_element_in_vector(vector<int> v){
& a2 A1 i2 e5 f( {6 t! n; @ vector<int>::iterator vector_iterator; 2 Y3 u/ i& G: q9 t
sort(v.begin(),v.end()); " K+ i6 {1 D& y& ]2 G
vector_iterator = unique(v.begin(),v.end());
( l2 b7 S* y& B" A3 z/ `: |3 l if(vector_iterator != v.end()){ ' l( G. H0 S7 c/ M9 A: n/ m2 N) a
v.erase(vector_iterator,v.end());
' R, q# F. z1 R% v& \ } / T5 V- Y' m7 n
return v;
4 u0 W- j" t8 k) ^8 ]+ f9 R' z8 _} 8 C4 E+ J" o ^3 f& ]: t: `
3 R, G1 {$ \" b( C: G
//两个vector求交集 7 p* N1 m7 @/ i, q* @( m
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){
2 A7 s/ O7 Q3 N vector<int> v;
# b& @6 a$ r2 R1 o( Q sort(v1.begin(),v1.end());
, A. p( Z0 i+ l+ ^* O sort(v2.begin(),v2.end()); * V S0 T" J& m9 O- o5 v, g4 r
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 1 Z$ I/ O. }) O9 O' S$ C7 D
return v; * a2 p2 r, P0 e8 Q# M, m* a
} 3 x. [$ E9 f S
( a# A& \% Q0 }
//两个vector求并集 ; t, e1 q ` P5 ^' Q
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){
1 U9 | _# i @ vector<int> v; ( j0 ~+ z; {: M7 ~# t, B; v
sort(v1.begin(),v1.end());
. Q0 U' |8 L9 h" ]5 D( J/ B) J sort(v2.begin(),v2.end());
* ^/ n, Q7 t& y) x set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
+ ~) Z# ~! w/ R* P: |3 @ return v; , Y% a0 Y" }* [+ ]& K" z4 E/ L( Q
}
' }: Q% O; a# O& S0 X6 D / S7 {0 Y7 Q/ _, C& E
//判断vector的某一元素是否存在 $ P8 O6 l6 }2 K8 D3 D
bool is_element_in_vector(vector<int> v,int element){ 5 N& z8 s! y0 B; ~+ {
vector<int>::iterator it; 2 s: U# p x. ^0 R" ^1 p
it=find(v.begin(),v.end(),element);
: H! }0 u" c5 Q) [ if (it!=v.end()){ 0 @! u9 `: s$ P% s+ Q% G4 ?
return true;
; u6 p# @6 M& c) [4 c) _' ^ m3 {7 R } & e: \6 v: c. b, D# Q% T& M
else{ ! |/ {: `. f4 K q' G
return false;
/ v( ~' b& |2 g6 a8 U$ a: w$ I5 p }
) M) s8 T' Q8 [ y/ p) O2 Z+ ^+ U}
! a! k- }# m3 E. b8 z [/mw_shl_code]. Q9 m" [; n5 d( h6 `+ l
|
|