|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, |! ]7 _% p- ]: A3 m9 G: g5 X
两个vector 去重复,相交,合并的函数分享
G+ U6 \: x; g8 t! y3 ~% p; a4 X) X1 j* X/ Z
[mw_shl_code=c,true]//容器vector中元素的去重
4 V5 p# w* a5 \" A/ |# X! e; Kvector<int> unique_element_in_vector(vector<int> v){ 4 L* O6 O& k) S2 V3 H
vector<int>::iterator vector_iterator; 9 @. r9 {' S) F8 w
sort(v.begin(),v.end());
/ l3 c+ h# J- I vector_iterator = unique(v.begin(),v.end()); & j5 ] U5 e6 J6 Z
if(vector_iterator != v.end()){ , c" {# @7 M0 n% Q; l
v.erase(vector_iterator,v.end()); 2 i% L/ I2 S2 y7 B* I. h
} 3 ?- A, c+ \8 h4 b7 Q
return v; 3 B! d9 G# Q' r: Y' p8 ~
} $ ~: n7 v/ L5 i2 D( k
# K* f% Q& x/ E" N+ p) p6 h% l
//两个vector求交集
: b3 P# I' ^4 A) k" i3 Wvector<int> vectors_intersection(vector<int> v1,vector<int> v2){ # Z4 ]" a6 Q* `' B4 b% y
vector<int> v;
* {2 c7 p4 I! H" X- K( N sort(v1.begin(),v1.end()); ! Z4 m' o* j( Y
sort(v2.begin(),v2.end());
# Y+ U2 ?9 i/ ?: n9 L set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
' a. }: A4 J( r0 {' E' y return v;
4 {; y- O$ h: z}
" ~/ ^2 D$ K. R5 T2 [
& C" L4 g( H' @& P' ]0 p. r+ y//两个vector求并集 5 N8 r! _$ M! i- }
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){
1 j2 A- h7 y* X _) i) ^1 k vector<int> v;
4 m5 k" t, w" A* G# \, o5 \) p' L sort(v1.begin(),v1.end());
: j" E; M% u' Y' e3 I7 g sort(v2.begin(),v2.end());
7 E7 q/ D8 H4 m q+ A5 B1 Y8 y% ~ set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 + D, ^2 ?8 ?4 S5 g
return v;
7 R8 P1 x- q8 |}
# m4 E. t1 U. y' E d 5 e+ u1 {: ~+ U2 E( f
//判断vector的某一元素是否存在 & L! D! J7 V* K
bool is_element_in_vector(vector<int> v,int element){ . Z5 H& t S' G6 j) c6 n
vector<int>::iterator it;
* A$ f5 o) P F, c- W( N- M$ n it=find(v.begin(),v.end(),element);
: M* f3 a" X8 ? if (it!=v.end()){
8 a9 ?1 `/ Y3 B) I/ s6 c return true;
) V, I/ R) I5 x- D& c } / a" f" M. G# q1 u( j) N8 E! R d
else{ + ?) e9 R5 }, m% ?+ r ^4 a
return false; " @/ e5 [3 D4 |) s
}
, u* l/ L! R* b1 Q1 ?6 T/ _} ! k7 f, E& |+ U7 g
[/mw_shl_code]; ^- N( u. x% U" k3 n* ?! P# {
|
|