|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 ~, Q7 X" a- E( P. d两个vector 去重复,相交,合并的函数分享1 c( n8 b \5 g% E" ]# |. h% \# |! v+ i
$ |' @, D/ ~; `
[mw_shl_code=c,true]//容器vector中元素的去重 & J* \- K- J+ X( G; D( c% B
vector<int> unique_element_in_vector(vector<int> v){ + w' z5 F {. {
vector<int>::iterator vector_iterator; 4 L7 n: g# Z1 R F+ @' C
sort(v.begin(),v.end());
C5 a5 [- V5 m vector_iterator = unique(v.begin(),v.end());
/ Y/ w. K9 D# R% k- ^3 e if(vector_iterator != v.end()){
, B( x1 a& I( T7 @6 B0 h6 c v.erase(vector_iterator,v.end());
% g5 c: C8 v3 i5 G7 s0 X }
3 _ n) H- [( [% W5 }+ e return v;
& A R( D- m+ E$ T}
) A/ I$ S, H8 p( k4 o, O
+ U' M0 n( V f4 [2 X6 w//两个vector求交集 % |& I$ q' ]+ H# u# J# j7 o" u
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){
* T3 u7 r. q" K vector<int> v; 7 C! M8 g8 H9 q/ e
sort(v1.begin(),v1.end()); # v6 D* y$ b1 M
sort(v2.begin(),v2.end());
! p" q! J& O1 |- } set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 : p0 N5 M; S% h' ]+ `5 p
return v;
/ W4 W, q: V( V2 ^4 R9 d5 _} : ~0 p5 V8 X/ Z# n. M/ G. }+ G
5 P2 `9 h. k! G2 _
//两个vector求并集
* y# L" A6 ~$ z! r2 Uvector<int> vectors_set_union(vector<int> v1,vector<int> v2){
6 M6 p* S0 n- _$ a- i vector<int> v; 0 X& x9 u6 i' M; |
sort(v1.begin(),v1.end());
8 v ^; a9 q/ O0 W sort(v2.begin(),v2.end()); $ }) G/ j$ ^3 J$ n; o2 a
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
5 Z; X; G! f9 S' E# k) b return v; 2 e7 ^1 _% y1 `
}
7 } }( K2 v2 i8 _
5 ^: V$ B( V, o$ J$ O9 E( Z//判断vector的某一元素是否存在
9 N) }) a6 n% }' R" Obool is_element_in_vector(vector<int> v,int element){ $ R$ P) {/ ]8 M/ [6 n
vector<int>::iterator it; [+ L; f2 |* q# V5 ~) u
it=find(v.begin(),v.end(),element); 2 B+ N6 {% h/ _3 f
if (it!=v.end()){ * @ O6 T; ^8 m% n
return true;
! R0 H0 p! g& q7 a } 8 A' q" _/ h2 i/ P, f! h% q4 J
else{
2 j0 m. ^1 y) v' E" C1 J. D return false; # ?/ w$ m* h6 I5 k) y
} 8 \! i/ ~6 v+ @9 `6 ~
} 4 v) {4 b% M- M
[/mw_shl_code]
( C8 R( o( Y% I) V8 m# X2 ?5 Z |
|