|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* a* G8 Y/ ~* d9 ~5 X: A
两个vector 去重复,相交,合并的函数分享+ o% L2 B7 {' E
/ r f3 ~% m% i; }& U; b& F$ w: x
[mw_shl_code=c,true]//容器vector中元素的去重
7 Y9 r0 a& r* J+ m; P8 nvector<int> unique_element_in_vector(vector<int> v){ 8 `/ Z0 _9 |" j- D3 C- a( ?
vector<int>::iterator vector_iterator; , M# U0 {) j. r9 |4 C6 v9 h
sort(v.begin(),v.end()); # l3 b( L0 h: n& f
vector_iterator = unique(v.begin(),v.end());
9 {, l0 U: i" [8 S1 A0 T1 Q if(vector_iterator != v.end()){
2 D& k* E, R' _4 n- |* T( w( P v.erase(vector_iterator,v.end());
" Q6 h# ~- e: L* Y7 e- `- u& Y } * I' I. J- ?( K/ {) H: y6 e& r
return v; 4 E% a) I; c) `9 a" s) o8 n" Z' ?# ]
}
) t% K- T# `, W
; H/ q! {6 [& \: u; C1 h//两个vector求交集 & r. ^6 r/ `8 C- l6 ~. v0 B
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){
2 _5 T8 p: @/ a% z vector<int> v;
( y# p6 W( o' F% E2 i! B5 Y sort(v1.begin(),v1.end());
! p$ R* Y& [0 s2 U$ J sort(v2.begin(),v2.end());
# `3 c( r3 C5 H( N6 G$ r3 K, _0 _ set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 8 ~$ b) m2 S" q# \7 ?
return v;
9 i; C5 M0 O* R" i% R}
' P7 I% q* Z% U4 |: p
6 C- r9 f* x/ j, o1 H3 K% J//两个vector求并集 ) u$ @2 @8 L$ d2 T4 T0 O4 m
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){
9 D; p- Q2 f- b4 y1 {, u6 u vector<int> v; , n; ^5 ~' M; G
sort(v1.begin(),v1.end());
0 g3 @6 ]' Z7 O sort(v2.begin(),v2.end()); + ?" H' k; ^. h
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
l% ?6 Q L" o5 z. b return v; 3 b* F! ]; N# w* k
} 4 q" p+ n- w& I% F2 G3 t A
/ ^$ j: s% y9 ^ Y1 `9 m
//判断vector的某一元素是否存在
% {2 F7 P1 q/ D/ ebool is_element_in_vector(vector<int> v,int element){
. C3 [& P; k' G# e vector<int>::iterator it; # T3 z: D9 M9 K5 M1 B/ X
it=find(v.begin(),v.end(),element);
" N! ~. o% B) }/ F( U9 d9 I! U- t& Z if (it!=v.end()){ , r: Y* K: y% M
return true;
) f% ` D: G" | `; l# y$ q } 0 {( b' k" ~, e; G" i
else{
, _3 ~ h0 {8 z; P1 Z" G- ^. z! u return false;
( R3 P! m! ^# }" I% Q6 U } - n$ ?0 U! ~" g& I
} * i; t6 N3 r. b1 D/ ?: }
[/mw_shl_code]7 C) y, g, u1 e
|
|