|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, M+ Q5 P" h+ o9 {0 `4 i" O- A
两个vector 去重复,相交,合并的函数分享! I5 x& `3 d# e1 z
h8 k. K. e- E[mw_shl_code=c,true]//容器vector中元素的去重 0 L/ R# {) E5 r: j3 r& t5 N
vector<int> unique_element_in_vector(vector<int> v){
' g0 M- J6 L% Z) V8 [8 b vector<int>::iterator vector_iterator;
. g. \9 e+ |# ]. G: b% {* L; [ sort(v.begin(),v.end()); 7 E; y* ^1 ]8 @2 Q% p, k5 o
vector_iterator = unique(v.begin(),v.end()); 7 v# S5 x( R; \
if(vector_iterator != v.end()){
+ R( b( O1 [2 D1 n' g' f% ]/ P v.erase(vector_iterator,v.end());
! @% f) h8 e0 W" [! y6 z }
( i4 Q$ S6 X; M. K( |: G return v;
: j9 l1 K8 y$ i# Z1 c6 Z: f}
4 C6 k" q+ H/ T) Q2 V* x
" `# f( c* s+ I3 m* N( X//两个vector求交集 7 c t7 C& `: }& m2 e* g z; g
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ 4 h3 @/ X0 s5 `
vector<int> v; 2 Z$ m& z+ e8 T2 i
sort(v1.begin(),v1.end());
1 G. a# x! b# E' X' g6 j sort(v2.begin(),v2.end()); 6 E% W9 i) L7 u; h7 E+ L
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
2 m& w- [5 p, c0 l0 Y0 L8 M9 d return v;
% |, j" N- z$ j1 Y9 W} 9 A4 k1 d- @6 g7 Q5 c9 ^! C$ I! z* f
) t- c3 x8 s9 T& K5 N( j5 |//两个vector求并集
, S( S$ R/ h' F/ nvector<int> vectors_set_union(vector<int> v1,vector<int> v2){ ~1 V# T5 P5 f: B/ `/ s
vector<int> v; 7 f Z$ D/ ^# f' d9 z7 \0 G1 J
sort(v1.begin(),v1.end()); ; w% j' M& z2 Y9 [ O
sort(v2.begin(),v2.end());
4 Q8 p Z o- |8 i set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
9 V4 [6 q) X# z% @ return v; / x, @6 W6 C* H$ R
}
) s% D2 O3 q" q( a
# V; U$ y& I: l" S' S/ V3 |5 ?//判断vector的某一元素是否存在 1 T$ e# Q$ O5 P- R" Z1 B: ^
bool is_element_in_vector(vector<int> v,int element){ & u* W- ]; p8 t3 i0 A; g+ \
vector<int>::iterator it;
b' E7 v2 n0 o- n it=find(v.begin(),v.end(),element); # Q m7 t+ S, n. U
if (it!=v.end()){ , @3 T4 {1 T. j& d
return true; + m1 _7 A9 u) N5 Q6 n; C* w
} . J* ` {& |5 u6 m- t$ E9 P
else{ : h) T9 d2 Z* h4 n7 i8 y
return false; 1 y0 c- N9 }- z5 H3 A6 P& V
} ( l) j; Q) C" A
}
: _9 f- y+ b7 f/ ~! ` [/mw_shl_code]% S; m5 `6 ^% q! P9 O% Q8 w
|
|