|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) E+ J7 ~1 }0 C8 m4 K' V( r3 l
两个vector 去重复,相交,合并的函数分享
1 @& |+ A; S$ C) N$ Q
8 P* R% w% {6 Y. {[mw_shl_code=c,true]//容器vector中元素的去重
8 x8 N1 o5 I6 e* nvector<int> unique_element_in_vector(vector<int> v){
+ r1 ~7 S8 `* c' _. y$ f" G vector<int>::iterator vector_iterator; 8 K8 i |* B. Y+ u" U& l
sort(v.begin(),v.end());
' P2 y+ e$ N4 [. R4 P$ b( T& c vector_iterator = unique(v.begin(),v.end()); 5 X1 r& C# F1 W1 J1 q
if(vector_iterator != v.end()){
2 I4 f8 o5 T* f8 e# ~ v.erase(vector_iterator,v.end()); 0 {; b' e" A( L6 ?. N% Q
} 9 w+ q" L$ w- I% p$ ^
return v;
1 m: d( x; m( S6 Q( p} 9 w9 J0 V( g$ H
8 A7 e9 W6 \' I3 w
//两个vector求交集
5 x, G8 V2 c% g' I6 ?3 ]vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ 2 B- B- I3 D* l& D1 \1 \+ O6 e
vector<int> v;
/ d# n& Q$ ?. q) L4 H' k" @ sort(v1.begin(),v1.end());
* T/ c1 ?- U, b/ f! u sort(v2.begin(),v2.end());
1 c) D* ]9 c1 w7 W0 v set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 ) |; W& k3 O" {- N
return v; 2 U* e( W8 R1 N
} / C5 a- U5 U9 f& P4 l' n
% k1 A, e2 T. q8 S; L. R- R4 l0 ^
//两个vector求并集 3 Q" j5 ?2 G+ k- x4 F, v
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){
/ ]8 r% x) A7 w vector<int> v;
; O. e7 I! t4 ` sort(v1.begin(),v1.end());
/ g; m' \( L8 \( l' o1 n* M sort(v2.begin(),v2.end());
; I( T; P* X) ]+ V/ y# j @8 n( \: j set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
- P' `: S {& n* B4 `, V return v; : r" U( L% x! O7 Z$ J3 ^2 A& O
} , S+ q- I0 t) o% l0 ~
: Y' }, W; h( m% f//判断vector的某一元素是否存在
" N- f7 `4 w! y( V- F# N( lbool is_element_in_vector(vector<int> v,int element){ . x# @5 {0 C3 z9 j" h+ |9 [; K
vector<int>::iterator it; p) c" B) _& l: Z0 d
it=find(v.begin(),v.end(),element); : V' f3 ?2 M" V2 ]2 g* \; I
if (it!=v.end()){
4 s) G9 l/ F3 J$ F3 Q. @9 c return true;
( V: S& V' Z( v3 I } 8 y5 J; F; [' K. `3 p# p6 T
else{ 4 S- h$ z& \! N5 ^4 F# h
return false; 9 L& I3 x$ {$ P! }
}
! u8 ]; R2 j1 {( M8 F9 J, O, ]} 6 U. n1 k9 @/ Z; m( Q" H" q2 O- o
[/mw_shl_code]
+ V0 ], [" W6 L' w# G |
|