PLM之家PLMHome-工业软件与AI结合践行者

[资料分享] 两个vector 去重复,相交,合并的函数分享

[复制链接]

2018-4-3 07:56:54 3214 0

admin 发表于 2018-4-3 07:56:54 |阅读模式

admin 楼主

2018-4-3 07:56:54

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

2 [6 I- {3 p# U, O2 N% G  j两个vector 去重复,相交,合并的函数分享9 F3 v8 ?% C, y) g! x+ O' Q: ?

# ~) g  L6 k( N. `( q9 |, j6 L  }/ e[mw_shl_code=c,true]//容器vector中元素的去重  3 q% S% V. U  {4 I$ F
vector<int> unique_element_in_vector(vector<int> v){  ' S- k# F; D3 x7 S
    vector<int>::iterator vector_iterator;  
$ A( }" D! B$ p    sort(v.begin(),v.end());  
; G! X. c" v) f, V! b    vector_iterator = unique(v.begin(),v.end());  
) i2 M# Z# J9 o; y    if(vector_iterator != v.end()){  
5 _7 A: o: @& s4 F5 N        v.erase(vector_iterator,v.end());  / }8 q0 X# }  O, N% l
    }  
+ w; I& l# f/ I( r: ]% j    return v;  % J9 s6 [/ b- g7 O  r- ^0 p
}  " Z( Q. ]4 h# c- x% f. y# _6 z: y
  
) W# N. {- L# {: o/ i- i//两个vector求交集  8 e7 c( R; T( i: N
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  
* W: ^5 I# f- L4 N% T& _- ^    vector<int> v;    }8 A9 \4 [5 m& {& S: b) {6 b, |+ e
    sort(v1.begin(),v1.end());     7 g; v: z' g, U
    sort(v2.begin(),v2.end());     
* {* j- ]) }$ I, ~' T! i* F    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   9 i+ e, C! l/ M" v% }; O: \& H
    return v;  ! [% C: Q* C5 D" D% J- b7 Z
}  
5 K4 n8 t6 ~0 ~4 d3 G  1 z4 q5 `! T; g7 n6 c+ Y, e# O9 z
//两个vector求并集  . d; R5 A" E0 ^" N; y6 I- F7 O
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){  " Z5 _) ~; s4 y6 K" ~- u: x
    vector<int> v;  
" r. n# S+ S$ i    sort(v1.begin(),v1.end());     
1 K2 e. C) D# Y4 H( [7 P7 \/ a    sort(v2.begin(),v2.end());     
8 `2 \* ]7 r5 [' q6 Q; `6 H    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
1 {2 _+ e+ M/ s5 D0 H% M; O    return v;  / m& L% I, C' c' A9 G2 i
}  
: |, |$ Y+ V) P% ?2 L4 `  8 J* z/ ?7 Z9 b* x& T) T3 p8 h
//判断vector的某一元素是否存在  
4 b% C$ I2 q+ ^5 V% J8 ibool is_element_in_vector(vector<int> v,int element){  
- y% J9 P/ ~5 a4 T/ U    vector<int>::iterator it;  
7 Q( l& g" _( o& W1 L9 K    it=find(v.begin(),v.end(),element);  
& U$ o0 \: Z( n! B) R* u    if (it!=v.end()){  
" N/ h* n3 f7 I, G- A        return true;  
* v- S6 B7 e7 _/ X" F' x( U    }  
) M( d; T! W' p7 I& R5 m3 h; Z    else{  " E0 a" _7 o+ ]* J  J0 H
        return false;  " A# C3 n0 o4 c! Y7 m
    }  
6 d5 i, B, E9 I! k' ^7 a}  - y, |* G% G3 S1 @' w3 a
  [/mw_shl_code]) S" z& M8 P) K6 J
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了