|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 k2 I0 E Q% m
两个vector 去重复,相交,合并的函数分享, N* H# o* P- g$ z! [
! m* L* u# G+ h' a! b% A3 f[mw_shl_code=c,true]//容器vector中元素的去重
5 Z% _" P% M3 |0 n9 N" Y& Mvector<int> unique_element_in_vector(vector<int> v){
+ G3 a3 M. Y# X% U vector<int>::iterator vector_iterator;
S d4 K0 r3 U% ~$ n sort(v.begin(),v.end());
: X- Z% ]) n& p) J vector_iterator = unique(v.begin(),v.end()); 5 X( T# z! d0 ^9 r
if(vector_iterator != v.end()){
3 x/ i) E5 b+ w. r" i v.erase(vector_iterator,v.end()); 7 e6 \: R! Z3 I
} # s6 F; V; z2 W6 n
return v;
" a8 ~' c& c# f/ U& u( c5 l} $ [! O; K/ ~: i3 B
$ }+ B" A1 |8 |7 M. B) `
//两个vector求交集
T! {& W$ }( Rvector<int> vectors_intersection(vector<int> v1,vector<int> v2){
1 s9 X/ F7 ^" ~ vector<int> v; ; [5 c3 H; _# F" C
sort(v1.begin(),v1.end());
: N) D! p7 S9 A4 Q sort(v2.begin(),v2.end()); : S5 ~2 B" ~3 n( Y
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 : C6 s$ D4 M6 W) P- ^# `9 _" D
return v; 2 o' X, x& p0 l5 X$ R
} P/ _2 s8 p' k! j3 m- N
* d/ b: f, p5 D v$ I//两个vector求并集
! U0 N/ ]" S. k! S: P6 u; Kvector<int> vectors_set_union(vector<int> v1,vector<int> v2){ " d8 E/ |+ @0 ?% ]8 x! H P7 R0 b
vector<int> v; & \5 Q' r) k) ?) P4 M! ~5 ?
sort(v1.begin(),v1.end()); 5 B: N8 q) g- y8 H r
sort(v2.begin(),v2.end()); ( e# ]4 A' F8 L: L
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
- c5 |# E9 i0 j return v;
8 u* V m a' r( l* S, x}
" ^, R8 m& B, P! o/ [) N
$ N3 L2 K2 s' i8 o& h( w X//判断vector的某一元素是否存在
& [, W+ l3 ~3 J! H' u9 |' h9 Bbool is_element_in_vector(vector<int> v,int element){
+ Z/ K! o, Q8 Z2 B) @ Q* ], B vector<int>::iterator it; " e( A+ i5 n3 Z7 F
it=find(v.begin(),v.end(),element); 2 Y) s, e$ t4 l
if (it!=v.end()){ t- K$ L0 {* z8 Z/ H+ A
return true; / x& Q4 k* _& B, D
} $ I, g9 b- h; S6 c) z
else{ 7 v# l. Z2 l* y$ ~" x, L
return false;
& _; I! ]4 ]! j# P% ~ } ' Y) c2 y9 z- e
} + v0 q; w/ d6 W% z8 [& f' k9 T- W
[/mw_shl_code]! A/ X$ c4 S, [' P* L* \
|
|