|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" o4 T7 D- l3 [, z
两个vector 去重复,相交,合并的函数分享
1 r* `. k# ~7 a$ S0 P0 V3 B! F3 s1 w/ N8 w
[mw_shl_code=c,true]//容器vector中元素的去重
* ~# X- L+ H8 _; ^$ }+ |# svector<int> unique_element_in_vector(vector<int> v){
8 t/ }1 y) G6 e9 P2 N, t' S vector<int>::iterator vector_iterator; b3 B1 ~0 u8 Q* X" R
sort(v.begin(),v.end());
G# X$ m; `& B2 a1 `& K& w E* V vector_iterator = unique(v.begin(),v.end()); 5 u% D9 x* A# k2 l9 O# s: O
if(vector_iterator != v.end()){ / V3 ?( |- R$ f
v.erase(vector_iterator,v.end()); 1 f5 L' H1 U" x, c% N5 e# Y% \( p0 ?
}
: D% ?3 G+ x" l5 W* g return v;
; I1 v) V. P9 }} $ m, `8 B: {& Y2 P6 b
; H( N& ?! J% V/ e4 }' O//两个vector求交集 + e4 B, p6 [7 w
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ ) W% ^% F/ W( U! h$ ^0 e8 |$ e; v; f
vector<int> v; & U; B2 o, q% p# T
sort(v1.begin(),v1.end()); ( b6 ^; Z8 m/ P
sort(v2.begin(),v2.end());
( V+ p" X' C% I) x set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
' U; w% d! a0 a6 q return v; # U3 a5 D+ x, \, u( m8 x
}
. A- q* a, s+ s6 R5 L) L9 D
" G5 \; [! w& T//两个vector求并集 : j9 n- d9 j) U) n
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){
' t: h) D n& D; V1 |& c: n' [ vector<int> v;
3 _, @7 ]! }+ t( o0 f/ _ sort(v1.begin(),v1.end()); / [' I- u0 f& c. r" c
sort(v2.begin(),v2.end()); : `$ Y5 ]9 s1 s: G* J$ T9 t
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
# P" X6 c; G. P& X8 t return v; # N7 A- Y3 j# B
}
4 C# @2 Z. Y+ m4 ^. s# K
% b% J* A$ W1 _. ~ C//判断vector的某一元素是否存在 " ?' Z6 V5 G$ O% q( b- S2 B: y
bool is_element_in_vector(vector<int> v,int element){ , o3 m7 h; H2 F
vector<int>::iterator it; " m- U5 N! d1 f1 N; C6 j5 x3 y" _
it=find(v.begin(),v.end(),element);
- x9 n2 X/ t4 h! I if (it!=v.end()){ # K& u8 i2 b I, G
return true; % ~( S" O' D1 x9 o1 h3 [6 b: ]
}
' C0 d+ | E* F v' D else{
) q: y$ C$ X! K2 B5 s5 Q6 I* c return false;
: y1 }* D0 ?0 K& s' q7 _$ N; B } - r- [7 b% Q. r5 A; {+ R
} % s; q' d3 F+ C+ k, Q% F# T C5 A
[/mw_shl_code]
8 K% B' z# C4 g |
|