|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
y3 g2 f6 H1 h% e$ f2 g) _两个vector 去重复,相交,合并的函数分享
0 {( z8 v) E% H
]% ]4 U' C, _% s$ V[mw_shl_code=c,true]//容器vector中元素的去重
2 v3 Q' h1 H1 ^, vvector<int> unique_element_in_vector(vector<int> v){
7 n7 r9 C" d+ e7 ^7 a vector<int>::iterator vector_iterator;
5 c/ H6 A5 l- ~ sort(v.begin(),v.end());
( D: {; B) O/ w% q vector_iterator = unique(v.begin(),v.end());
- g- w( e' j. }' L, E4 l9 e if(vector_iterator != v.end()){ 6 w( D1 n9 x5 U; q0 l$ x
v.erase(vector_iterator,v.end());
0 C3 L; L3 n: Q }
6 R* q6 E# h+ h- j9 E5 I& o return v;
. a# Y7 ]4 G* N} ! t# H2 V/ B: D5 `5 m! u
5 |% s% l0 |% b# {//两个vector求交集 + M" _0 G6 h- J' t5 m
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){
3 \5 J" m1 B, F6 C' r# f! u5 M vector<int> v;
1 g! X1 Z" C7 [! M' l( h+ z sort(v1.begin(),v1.end());
; ]3 h, @( A; r6 l$ y+ [/ I sort(v2.begin(),v2.end()); : ~) X! Z% S' y+ [3 f& s
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 2 c v& M3 T' t: u/ \8 ]
return v;
) Q/ c/ H. o7 x9 Z- L} * n9 z! A3 x, k
4 R" l+ P0 X% e" a//两个vector求并集
! H: k& ^2 w! G fvector<int> vectors_set_union(vector<int> v1,vector<int> v2){ + g% v) S+ b) K0 q, F
vector<int> v; 7 n4 E# {, D; F3 O" i
sort(v1.begin(),v1.end()); 9 O' |& ]" a: C
sort(v2.begin(),v2.end()); # x8 A, t7 p" S
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
& d( K* d7 m- g3 O$ b# j return v;
" x9 A( P' Y: _} 0 s: `1 E, P5 Y
: y: @- M+ u M1 d, P" J& Y
//判断vector的某一元素是否存在
" P( e" u; @! e8 W% `; {bool is_element_in_vector(vector<int> v,int element){ e9 }) i6 y! ]9 z P' E9 W6 p/ \
vector<int>::iterator it; + l T0 y/ T) a% `3 ?. l
it=find(v.begin(),v.end(),element);
. s& L! b7 M# g if (it!=v.end()){ ( i6 R( ]! x0 s& s
return true; ; E! ~" o+ y+ [. q9 T3 S% m$ E
}
% Z! X: W3 P! A* B { S" t else{ 3 }% m' o I% S! s" N: ]
return false;
& o* v2 q! M7 T u }
0 ~; H9 X2 b# w+ ]2 [7 L) r} ; R: ~( p% y2 y; M5 [) M3 T O
[/mw_shl_code]& y z0 F# i! M; u7 C
|
|