|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% R- c' S3 q! K9 D+ b& H两个vector 去重复,相交,合并的函数分享
# k! J. y! M& X% E. C8 j% `' E; F+ J( q' S$ j8 r J' q
[mw_shl_code=c,true]//容器vector中元素的去重
~9 t9 j5 Q* ?9 G1 t; W' C' X" avector<int> unique_element_in_vector(vector<int> v){ 6 z( w) o/ b* X
vector<int>::iterator vector_iterator;
3 V# ?9 h' l; f9 l% R sort(v.begin(),v.end()); 8 y' X& P |' {: o' w# X2 F
vector_iterator = unique(v.begin(),v.end()); % n' V' W* b3 y/ O6 Z; f" `6 Z
if(vector_iterator != v.end()){ 5 }; l9 g# l+ c* q- l0 G
v.erase(vector_iterator,v.end()); ; g7 ?4 Z: q4 y' u
}
/ N, R7 L% z. b% U3 {, O$ u return v; ) O' n7 X9 [9 s' \& {
} 3 {8 F6 Z# w8 I& a7 G
5 e( v8 ^) c; L$ V4 t
//两个vector求交集
+ }& R( \6 c, Q$ P# Mvector<int> vectors_intersection(vector<int> v1,vector<int> v2){ , p4 [3 B; R) O* D
vector<int> v;
( v+ l1 q n9 E+ D3 K2 H! b0 e sort(v1.begin(),v1.end());
6 y* p. j) w- w- a' K sort(v2.begin(),v2.end()); M1 E9 |1 M/ G! M' o
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
/ F0 C9 S! Z7 ^- @: [! `& Y' D return v;
8 [% a" z9 a" i3 m} & a1 e: @; n9 U% _! ^: q
& t4 [: u# `$ z% `/ U+ g/ P0 M8 h4 ^//两个vector求并集 9 X q3 c5 P$ H( Y) H
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){
( ] H" K. s r6 u4 s" U! E vector<int> v;
9 A) V2 J7 s. W+ L, X sort(v1.begin(),v1.end()); # ]) u+ B M C6 o
sort(v2.begin(),v2.end());
9 A; G% W+ r' {& Y9 J/ Y! i- O4 b9 u set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
' p( S% \. N; g0 k4 ]' Y1 ? return v; 8 y' a/ g$ [7 l0 i k) d2 P# x
} @ g7 A% }9 e4 T/ r
6 R3 z4 n# }! a' N) h//判断vector的某一元素是否存在 3 D* n* b. K# B# B; N
bool is_element_in_vector(vector<int> v,int element){
* r; l* i( X3 C$ F vector<int>::iterator it; : p% \/ L1 v" E( B* G I' s0 E$ A) U
it=find(v.begin(),v.end(),element);
7 w4 N+ }7 s: f1 q if (it!=v.end()){ $ N8 x1 f& @) ?9 q- @3 R
return true;
. Y, g/ X$ [+ ` }
, e3 T N: L f# e& k" H$ S else{
7 Q5 |6 s; e( P return false;
2 Q* X. U- c; q: p* y1 h1 p }
+ w' }( O9 ~0 F3 D9 {1 H2 v}
: W# E+ q' S, }' L [/mw_shl_code]
6 l" G; }! X2 `+ n* Y1 b |
|