|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 g4 o) D) D$ ]' }5 w
两个vector 去重复,相交,合并的函数分享
0 c$ b+ y; v5 ~$ r$ e. f5 y( K: r9 U" K8 f5 S* `
[mw_shl_code=c,true]//容器vector中元素的去重 # @+ L, s' \) ~6 |( g- n
vector<int> unique_element_in_vector(vector<int> v){ 3 I* k& j1 e; z+ @1 P
vector<int>::iterator vector_iterator; 8 s' x* b2 N, T$ o \8 M& d/ D9 j
sort(v.begin(),v.end()); ; H/ e% Z0 G' X U' v3 |0 y
vector_iterator = unique(v.begin(),v.end());
9 M) w# b4 f* b4 W& b if(vector_iterator != v.end()){
$ @1 a5 |: t0 a9 Z; i v.erase(vector_iterator,v.end());
# T& z% Q O8 C2 y2 {5 [7 @% D }
2 T1 U% A- N1 V9 f$ c0 u. }2 y8 f return v; 4 A8 I% D& G$ l, Q4 w* I) A/ ~
} 5 C) c8 S- U8 t5 E
' G! n8 A4 ?6 R$ M
//两个vector求交集
/ D- F- W, n) k7 @vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ $ \3 k. {* A8 ], a
vector<int> v;
" T5 J- ]9 H, G( |7 ` sort(v1.begin(),v1.end());
& p# N# E6 T2 N) Q7 C3 F7 P; U; D' B sort(v2.begin(),v2.end()); - i7 x% x- \0 J; s1 J& T+ F- v( M
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 3 G5 z1 `9 g. q% k" T
return v; P" e c0 `& e
} " z: K: [5 @; G: V' ?
& {6 G% ]7 q ~; S J6 s
//两个vector求并集
% {7 k5 j- T1 h- Vvector<int> vectors_set_union(vector<int> v1,vector<int> v2){ : u2 T% r) s- Z( V; B# n# |. t/ |
vector<int> v; 6 C n, u; i& P- y0 R" o7 m7 T+ q- U
sort(v1.begin(),v1.end());
% L! W* |1 L {1 q sort(v2.begin(),v2.end());
8 {& I% w( F9 ~2 x5 Q set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
1 C: X$ C$ t4 Y% b0 ~2 J return v;
4 _( l5 D4 o; H4 K} 3 e1 o3 j0 Z V# i5 \" r
; x6 ]0 E, t) T. ]; h3 l//判断vector的某一元素是否存在 ) r7 T6 s' u1 d
bool is_element_in_vector(vector<int> v,int element){ 4 {: s9 m [: Q
vector<int>::iterator it;
5 I& }' U& {1 l2 [# ] C9 ^ it=find(v.begin(),v.end(),element); ! z: B) O' t* k
if (it!=v.end()){
$ G% j- w8 j1 R: e* R return true;
: v4 {0 W% I# s/ n. A, B } ) C/ W5 [( Y& B" [( k* r6 j9 ^
else{
; k7 g' B6 Y* [( O# {- t return false;
' x% A3 e- {: ]9 |% X }
. C4 {* Y3 v: W3 z1 G l' a} 0 J* j8 g( L* G* J0 a; a
[/mw_shl_code]# q& p+ P% a% D: y: p
|
|