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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x

* e  z; j8 _( v1 \, G两个vector 去重复,相交,合并的函数分享/ k; ?1 S7 L) y

+ @$ E3 I) y: w) Y9 U[mw_shl_code=c,true]//容器vector中元素的去重  3 F  ]/ r9 Z9 n% I
vector<int> unique_element_in_vector(vector<int> v){  
% Q4 Q8 v! g5 k# ~2 D, U0 z8 v+ g    vector<int>::iterator vector_iterator;  
) X7 j8 M1 G' G- l% s    sort(v.begin(),v.end());  
# n: Z) O) o$ _/ s6 [    vector_iterator = unique(v.begin(),v.end());  
; o" L" f: d; A    if(vector_iterator != v.end()){  - B# \  v8 G# K& X6 P
        v.erase(vector_iterator,v.end());  0 v$ g1 W2 a4 E% x
    }    |' r3 k# d8 i! y* u
    return v;  + z1 L" @  g/ U3 x& C" M
}  * V3 _3 i' K' S, N/ a
  
# E" G' }3 S# Y* _6 ]//两个vector求交集  ! d6 q7 V: U1 B/ a- W8 e! J
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  ! E5 U& w/ D" V8 K% F
    vector<int> v;  
* u! l; Z+ v( q! @. y+ z    sort(v1.begin(),v1.end());     
. ]' N2 a. G  u4 X- N    sort(v2.begin(),v2.end());     
- |# I# ]/ ~* t9 j# @! E: M0 i    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
5 r7 s" M2 m8 E1 o+ X) Y    return v;  
4 b4 R9 j) }) c9 p) o3 W2 D1 Y- }}  4 ^0 U8 M! H/ I4 m# O
  
6 H( I0 G# `2 N$ ^9 [//两个vector求并集  7 R! p, M/ Y+ r! n5 U
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){  
5 [5 C3 C; I' k, E! }    vector<int> v;  ' H& |; F: y+ K* f; l
    sort(v1.begin(),v1.end());     ( W  L. u4 \$ [
    sort(v2.begin(),v2.end());     
' V1 ]+ b" n. g" J5 B2 f5 M    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集     \- ]+ J; A; k3 b! v8 P% K+ R; |
    return v;  1 A" z5 U5 K' s. z
}  0 L* p4 `  y; t8 C
  
8 c& |. k9 F& ]/ G//判断vector的某一元素是否存在  4 O! |& H! Y( q3 ?: D
bool is_element_in_vector(vector<int> v,int element){  - @: n% V9 l) Q7 U
    vector<int>::iterator it;  4 H  u/ c% }7 z! O: F' n, ~
    it=find(v.begin(),v.end(),element);  
0 G2 Y% w+ F+ `1 J4 h0 s) F* n% s! g    if (it!=v.end()){  * }6 B/ E. z/ B6 v, M0 s
        return true;  " @6 g7 P; Y# S" ^1 o% Q! [
    }  
5 j: @  C# `# Z3 z8 M. G    else{  0 }$ N/ S# `( w
        return false;  
& C+ F! G/ ]$ k* z" C    }  
5 F! ^7 G1 ~7 t}  / {3 ^) t0 J/ V$ V. u3 f
  [/mw_shl_code]
1 U! c4 q" s) O4 E2 C$ d
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了