|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 p. C2 v: Z' \: n5 X
两个vector 去重复,相交,合并的函数分享
: ^9 u1 g( e; C* O; [- o
( ?7 y, M0 U1 _' L" l0 L[mw_shl_code=c,true]//容器vector中元素的去重
* |3 k8 R( v! U' t4 F* Kvector<int> unique_element_in_vector(vector<int> v){ 0 ~+ l8 I, h! b7 I' w7 p. }
vector<int>::iterator vector_iterator;
* g% c1 [) t. {; B sort(v.begin(),v.end());
, \2 m$ s/ K/ g s vector_iterator = unique(v.begin(),v.end()); ( r3 U, c3 E( j% R$ d* n1 ~
if(vector_iterator != v.end()){
3 u5 w5 m' h# _2 `3 m5 ^7 y v.erase(vector_iterator,v.end());
3 c5 w% @: Z7 P ^ } ) A: Z# C) e0 s& v8 P
return v; " i( V5 H2 U9 v- ]5 ]
} 9 ?) V! ?0 ^2 L5 s- J
% z2 d+ W& D& _ H
//两个vector求交集
% ^2 c8 X( V/ ]0 M7 Uvector<int> vectors_intersection(vector<int> v1,vector<int> v2){ 2 p6 _2 G5 r# j9 H4 N/ V+ a0 ~
vector<int> v;
\' N7 ~; m; ]4 D0 I" [( D5 W" ` sort(v1.begin(),v1.end()); % _( o6 @! v8 m* S; I
sort(v2.begin(),v2.end());
2 `/ ^7 G- _$ T2 H" V set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集 % H+ f- n5 K" ^; g& [$ J
return v; % W; m2 b8 ?7 L# E
}
8 W1 |8 u: A7 P+ e }6 j
. i7 X- O j# y& @0 B; q; [//两个vector求并集
1 S9 l x- m% \3 w, U# \% S5 W' A- Rvector<int> vectors_set_union(vector<int> v1,vector<int> v2){ 2 w+ C: O P$ B! n
vector<int> v;
' t" ^5 }! B$ J3 `9 z! Y sort(v1.begin(),v1.end());
+ V) {5 I! L0 [ sort(v2.begin(),v2.end());
( ? N. z8 @& w f set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
! W* r. q5 B: ]' o1 l return v; ( h/ ^' [" m6 P: v
} 4 C- _) S# W" s. {
) C2 y, L; u6 @. G0 F$ U- R2 b//判断vector的某一元素是否存在 $ ?; C; s' T+ [' P9 k) W
bool is_element_in_vector(vector<int> v,int element){ , m* H& s+ @; _ c3 S8 ^. D) _7 ^0 c
vector<int>::iterator it;
+ j' {; F; v9 p* ]5 L9 M2 y it=find(v.begin(),v.end(),element);
. D9 @! m& z3 N1 h0 R6 G- D( ?( X if (it!=v.end()){
4 ~: d! b. E/ j) W% F/ i* W1 L2 t return true;
4 s! W$ A* F: o1 E8 {: {) Q* B } . ^2 Q4 Q& W9 B: f0 z& g) [+ Q
else{
1 c( o" A& {/ Z! D3 g return false;
1 I7 E$ X/ U0 z' l) n7 n, C } . \- d7 v% {4 p6 [0 x; A
} 8 W4 Y( z8 w5 u3 Y4 V
[/mw_shl_code]
! r# b) c$ x, s |
|