|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Q1 Y- \7 T) r$ R两个vector 去重复,相交,合并的函数分享2 ~0 h6 B8 \% Q7 I; C) F Q3 C
e7 U, g2 S4 a% R" a, g[mw_shl_code=c,true]//容器vector中元素的去重 M4 {( |4 j4 Y& B! j' N
vector<int> unique_element_in_vector(vector<int> v){ ! R. P7 s g" i: K, C m
vector<int>::iterator vector_iterator; 1 |1 ^0 H! z% m
sort(v.begin(),v.end());
0 u! x. V" [/ D vector_iterator = unique(v.begin(),v.end()); " A7 I8 O( O) b. t9 |* O* @
if(vector_iterator != v.end()){ 6 N: P2 J! ]7 i2 Q. z4 L
v.erase(vector_iterator,v.end());
; T$ B& k+ M6 F" `5 R% o5 w }
: H* r% b. _7 [ return v;
! A; x# Z3 q" a- q. [} , b f. L5 R- D: ]: x
5 Q) G# c9 m! ~. K& n
//两个vector求交集
! \" N7 `& g' }. ivector<int> vectors_intersection(vector<int> v1,vector<int> v2){ + _: J- y7 l+ G: a+ q
vector<int> v;
; a7 V1 M% z7 d/ u sort(v1.begin(),v1.end()); 0 I' L: i/ t6 D& R
sort(v2.begin(),v2.end()); % b7 d0 c$ u( f. g% E% D
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 . M6 J3 e( |& h5 r9 W; Q( Q
return v;
% k D- W5 ?. s- v} / Z7 e* Z" \, y& N! ]) n, ~
% l% y4 c! D w//两个vector求并集 + R* N8 a7 q- J( D
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){
/ `& w D" h4 c6 d! G# ^5 u vector<int> v; * @- g+ v# F1 J$ v+ t+ a
sort(v1.begin(),v1.end()); 0 R) U. X- d, Z, F3 \* F
sort(v2.begin(),v2.end());
" [+ A% k% U' N/ D$ o. ~ set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
0 a& q/ j1 @* v8 \4 z- r return v; " w2 N8 q- h" T3 v
} 7 ]9 A* y( M: H9 N. _% K# @4 ]
% E% r" u( S5 W2 A3 x5 c/ Z7 K7 G
//判断vector的某一元素是否存在 4 g. ?5 h. z! S8 ^9 [3 l+ d4 _
bool is_element_in_vector(vector<int> v,int element){
' ^' j J; p0 a8 |" {8 Y5 \ vector<int>::iterator it;
7 |& p ~* G! }1 g it=find(v.begin(),v.end(),element);
: J) d! r9 M* A3 s; ` Z9 E% e- i* u if (it!=v.end()){
) C0 s: {, U7 E0 C( j% J return true; ' J C1 B6 v" I, R s
}
7 U& Y0 N5 ]' ~1 X* O, y else{
4 L4 l1 ^; s) [3 l- l6 g& L return false; % T( p) o+ s3 o( P0 n
} " Z; F* f, t1 A- [& z: C
} 2 {- ]1 A# s5 q* |$ z1 S
[/mw_shl_code]
! P8 k$ v1 @4 R5 _ |
|