|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 O4 P- F- ~& M6 x5 h# {
两个vector 去重复,相交,合并的函数分享
F9 N% n: d" @2 @; B3 O3 x5 f1 b! G$ v( Q4 n ^( c+ u
[mw_shl_code=c,true]//容器vector中元素的去重 & U8 b- q! ^. M- i) j5 j6 Q& J
vector<int> unique_element_in_vector(vector<int> v){ # t/ u$ c4 J* f4 V
vector<int>::iterator vector_iterator; ! {0 r5 {% y& g; `& r
sort(v.begin(),v.end()); 7 B# f! K }7 J6 i {& v
vector_iterator = unique(v.begin(),v.end()); * A7 N9 g8 a- v' i& Q
if(vector_iterator != v.end()){ & r: J$ S4 F& Y5 r
v.erase(vector_iterator,v.end()); ; d+ ]8 g2 B1 y' z* u
} 4 A3 q. v+ D5 d; P# z0 ?
return v; B1 c8 |+ Y3 m" c* H' d5 o
} , ?: ]6 A/ z2 C# \
$ F0 Z2 f/ ~( b; W' |$ E) `
//两个vector求交集
2 H, P2 b3 A) m( O7 Rvector<int> vectors_intersection(vector<int> v1,vector<int> v2){
5 b6 q, X Q U& X8 X6 t1 |0 | vector<int> v; Y, d2 [( D+ i3 d
sort(v1.begin(),v1.end()); ! B n/ h, t# H4 c! k2 q
sort(v2.begin(),v2.end());
" e r" u5 m+ v" x5 ]8 _: D set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
" [/ r' S2 C: K" u9 d' R: m return v;
: W7 V" ?4 H, s# }: G' [}
% c. I/ X" }. d$ R
/ L& L7 i3 N0 y; b( @# `* `" E2 E//两个vector求并集 6 n' f% |: |! w' S. T: @# l7 I: s
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){ - |4 _' j( @ V2 T
vector<int> v; ( p+ G, Y9 |% E$ q5 c
sort(v1.begin(),v1.end()); " O' @7 ]/ z# K8 h& e/ e: s+ J- Z
sort(v2.begin(),v2.end()); 8 G7 \; x/ e1 q% d3 Y% ]% D: r0 y
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 + b8 v) M& d+ G7 Q& {
return v;
0 W0 M8 w! O/ B/ a: P} 0 _) v! Y6 z. h$ g
1 A$ ^+ o; ]8 U' |
//判断vector的某一元素是否存在 0 Y( X0 ^2 |2 U: s% H
bool is_element_in_vector(vector<int> v,int element){
1 z6 h) L# o0 Z0 V9 N vector<int>::iterator it; ! @" u h5 w9 {4 b( G
it=find(v.begin(),v.end(),element); ! {* ]& P) }+ N/ U5 y/ R8 }. T! N
if (it!=v.end()){
8 U% |" x s5 D$ t8 Y return true;
! G, {1 O9 I' i. b, i } ) ^- p$ p+ k6 B) {6 u$ a- C
else{ , u- i8 v. R' m1 H: U5 a$ K
return false; : O0 u6 a, t* I0 ^" ^, P
}
# l S% g0 Q9 b8 J0 \" Y} ! M' y- l* q; K
[/mw_shl_code]3 d1 s2 ?: Y# O: s* f
|
|