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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x
- h$ g# J# i. G
两个vector 去重复,相交,合并的函数分享# l0 c4 f5 p6 ]0 j, Y

' x0 i" Z" a# A& b% M+ r- b) i[mw_shl_code=c,true]//容器vector中元素的去重  
; Q; G/ s/ T0 k0 _vector<int> unique_element_in_vector(vector<int> v){  4 e& x7 A- O- D: ?& f- m% A" c1 G
    vector<int>::iterator vector_iterator;  
) m1 z2 h' G& T. `9 A    sort(v.begin(),v.end());  9 r/ G# Y3 ]0 U5 x3 w
    vector_iterator = unique(v.begin(),v.end());  
4 z7 s) [! t( t    if(vector_iterator != v.end()){  
' ?' A* ^& O$ d7 B+ [+ V9 S" X$ V        v.erase(vector_iterator,v.end());  
4 z1 B* O& a) m" p    }  6 a$ N# L& c( D
    return v;  # u$ Y: B, i8 g8 k& W
}  / C- E0 n4 O2 X/ V, P
  
! y- T# O! X2 {+ y//两个vector求交集  
" P9 H  z% F+ W; Q9 h, C1 Pvector<int> vectors_intersection(vector<int> v1,vector<int> v2){  # w: h' U1 z% l$ h" k* ]
    vector<int> v;  , _( l- ~2 j+ r0 d1 b  y
    sort(v1.begin(),v1.end());     " q% C  X- k* Y- v* I' [1 g, ?) S
    sort(v2.begin(),v2.end());     
8 Z0 F3 I( N. E2 U    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   / L" f9 w) _+ J, l, R
    return v;  
# H% j2 W( X6 ?! v, E" C0 F}  
2 I% @0 f8 U# Y8 w  + O- \/ ?# p( B$ U. w0 H
//两个vector求并集  
; G9 k4 l, u$ i/ [) O0 B/ m2 g4 Evector<int> vectors_set_union(vector<int> v1,vector<int> v2){  
0 O7 o5 v3 L4 A    vector<int> v;  
6 z4 n5 `. k, z7 F; j6 M8 c    sort(v1.begin(),v1.end());     4 M% U2 i* |2 P' ?) ?) C& Z
    sort(v2.begin(),v2.end());     ' Y. Z4 Z" ^* Y# G( I0 z2 d
    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
$ T- b, w; v0 W# T' n; r$ ]9 L6 F! g    return v;  
  H0 m: [: @2 v- [  d' R2 e}  
- K/ S% L" ?5 g& ^' N  $ N9 d3 U% q4 b$ T( Y
//判断vector的某一元素是否存在  9 b. w. f8 w% ]' N# p9 w
bool is_element_in_vector(vector<int> v,int element){  $ x: e+ v( Z7 S/ O; G: K) s
    vector<int>::iterator it;  * A; f: O: B' u  _0 q
    it=find(v.begin(),v.end(),element);  
; g1 G3 s" o" i- C0 @    if (it!=v.end()){  
# Z6 H3 t) X; x+ l        return true;  
! `! [) b* ?$ F8 y    }  5 D' @% P" u) D7 I( L& s
    else{  
8 M& ]5 z& h: X        return false;  
7 ~- Y6 I) r; `, m$ _    }  
; c9 Z3 h. ?- U; O' b: \4 r}  
# L. W" S* x. P& u0 G3 P( }  [/mw_shl_code]
9 [: A+ D1 ^) O: }' z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了