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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x
6 k2 I0 E  Q% m
两个vector 去重复,相交,合并的函数分享, N* H# o* P- g$ z! [

! m* L* u# G+ h' a! b% A3 f[mw_shl_code=c,true]//容器vector中元素的去重  
5 Z% _" P% M3 |0 n9 N" Y& Mvector<int> unique_element_in_vector(vector<int> v){  
+ G3 a3 M. Y# X% U    vector<int>::iterator vector_iterator;  
  S  d4 K0 r3 U% ~$ n    sort(v.begin(),v.end());  
: X- Z% ]) n& p) J    vector_iterator = unique(v.begin(),v.end());  5 X( T# z! d0 ^9 r
    if(vector_iterator != v.end()){  
3 x/ i) E5 b+ w. r" i        v.erase(vector_iterator,v.end());  7 e6 \: R! Z3 I
    }  # s6 F; V; z2 W6 n
    return v;  
" a8 ~' c& c# f/ U& u( c5 l}  $ [! O; K/ ~: i3 B
  $ }+ B" A1 |8 |7 M. B) `
//两个vector求交集  
  T! {& W$ }( Rvector<int> vectors_intersection(vector<int> v1,vector<int> v2){  
1 s9 X/ F7 ^" ~    vector<int> v;  ; [5 c3 H; _# F" C
    sort(v1.begin(),v1.end());     
: N) D! p7 S9 A4 Q    sort(v2.begin(),v2.end());     : S5 ~2 B" ~3 n( Y
    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   : C6 s$ D4 M6 W) P- ^# `9 _" D
    return v;  2 o' X, x& p0 l5 X$ R
}    P/ _2 s8 p' k! j3 m- N
  
* d/ b: f, p5 D  v$ I//两个vector求并集  
! U0 N/ ]" S. k! S: P6 u; Kvector<int> vectors_set_union(vector<int> v1,vector<int> v2){  " d8 E/ |+ @0 ?% ]8 x! H  P7 R0 b
    vector<int> v;  & \5 Q' r) k) ?) P4 M! ~5 ?
    sort(v1.begin(),v1.end());     5 B: N8 q) g- y8 H  r
    sort(v2.begin(),v2.end());     ( e# ]4 A' F8 L: L
    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
- c5 |# E9 i0 j    return v;  
8 u* V  m  a' r( l* S, x}  
" ^, R8 m& B, P! o/ [) N  
$ N3 L2 K2 s' i8 o& h( w  X//判断vector的某一元素是否存在  
& [, W+ l3 ~3 J! H' u9 |' h9 Bbool is_element_in_vector(vector<int> v,int element){  
+ Z/ K! o, Q8 Z2 B) @  Q* ], B    vector<int>::iterator it;  " e( A+ i5 n3 Z7 F
    it=find(v.begin(),v.end(),element);  2 Y) s, e$ t4 l
    if (it!=v.end()){    t- K$ L0 {* z8 Z/ H+ A
        return true;  / x& Q4 k* _& B, D
    }  $ I, g9 b- h; S6 c) z
    else{  7 v# l. Z2 l* y$ ~" x, L
        return false;  
& _; I! ]4 ]! j# P% ~    }  ' Y) c2 y9 z- e
}  + v0 q; w/ d6 W% z8 [& f' k9 T- W
  [/mw_shl_code]! A/ X$ c4 S, [' P* L* \
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了