|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% F4 I7 L) y- p& o* q- A# x* M0 p6 F
两个vector 去重复,相交,合并的函数分享
- N, m6 q4 T1 b4 j# C/ C7 }4 G
- P/ Y0 z4 M! O! @% f& g: ~[mw_shl_code=c,true]//容器vector中元素的去重 * i$ ^& X6 a0 ^( ~9 p, F+ H4 o4 ?
vector<int> unique_element_in_vector(vector<int> v){
' g) _; D- M7 v' i8 f* o4 U5 i vector<int>::iterator vector_iterator;
9 w6 k- D6 d) ~$ T! \+ W0 S sort(v.begin(),v.end()); + A% @/ b: ], @# c' E+ d5 ~ n
vector_iterator = unique(v.begin(),v.end()); , \* _9 ~: D1 t, D9 V8 \
if(vector_iterator != v.end()){
4 Y# B7 H8 W8 a- q3 [7 d v.erase(vector_iterator,v.end()); ; [) o2 ?7 y; E$ p% T0 i/ q6 G
} ( i5 d. _7 ^# K" z% d
return v;
4 N# m) s( c \. f9 D% P+ T( B}
3 h4 [! B8 R: e+ a6 Y# V& d 3 s, L: S' s5 {
//两个vector求交集 V: m( n9 _9 ^0 n* [, r
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){ ! y1 a/ u! N9 V. a
vector<int> v; & r- N* J4 c6 ?
sort(v1.begin(),v1.end());
# |. `3 q$ {4 q sort(v2.begin(),v2.end()); 5 {* x: Y: N- L6 ~
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
* h/ }: H6 u% I return v;
- x! b$ e+ |! B2 B}
/ d4 |& T5 _' T" |1 h / y) s5 I" v* ]1 P* _
//两个vector求并集
, L, f/ \! g- f% E5 t0 {4 e7 wvector<int> vectors_set_union(vector<int> v1,vector<int> v2){
; }3 ~! w1 @# P( \7 X7 K vector<int> v; 9 V8 q0 q9 N5 h
sort(v1.begin(),v1.end()); ; V* O+ L& U- L7 a& e
sort(v2.begin(),v2.end());
* _! {7 {6 N3 N! K set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
5 P1 o& h6 d9 x' p* z. H return v; / s4 @. s: [5 X6 V
}
, U; e5 F5 L/ g # c. O7 E6 E+ S9 Y
//判断vector的某一元素是否存在 $ g- f+ c# B% G3 U+ X8 I: |
bool is_element_in_vector(vector<int> v,int element){ 3 {2 K9 e4 B, \. \8 w. X' X9 {! A
vector<int>::iterator it;
/ U: L- z3 O- U7 ~+ Z it=find(v.begin(),v.end(),element); / s+ Z: [4 J6 c, f
if (it!=v.end()){ 7 d; C+ {0 s/ t. o
return true; " d; [# N( t. H& q1 c
} ' M( w% u) C: w, ]) ?# a2 ]
else{
+ a; W/ G1 o8 e) c" Z' p7 E return false;
' x% g3 b9 V2 A9 R }
( J$ u; H5 s N3 e) n' c}
+ Q/ i/ {( S) S3 U4 | [/mw_shl_code]
( k. B* C- `+ \3 M- f |
|