PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x

5 p! f; U+ R( {2 C& I2 @* V3 B两个vector 去重复,相交,合并的函数分享! c! v8 x4 R8 F( H  M  O/ s! n$ u

# I. x" N4 ?) q5 q& h6 G[mw_shl_code=c,true]//容器vector中元素的去重  0 \5 F: F# K: k
vector<int> unique_element_in_vector(vector<int> v){  8 z8 C5 q9 p$ o2 Z
    vector<int>::iterator vector_iterator;  ! \9 d3 B' B$ g; {$ X
    sort(v.begin(),v.end());  
  |: @: ]; c! Y    vector_iterator = unique(v.begin(),v.end());  0 ^; i, K8 V& u$ Y4 h# H' i
    if(vector_iterator != v.end()){  , ^2 ]4 q9 h8 d/ q4 q+ e7 R: T4 T! o
        v.erase(vector_iterator,v.end());  1 W8 J7 m+ I& }# J, o# R9 Q
    }  1 Z7 R, e4 X; C* }7 g% j
    return v;  
, `( a1 r+ P, G0 Y}  
, W- w* c) @4 r% N  * @3 D$ p, B, W
//两个vector求交集  
0 Q0 P4 T6 b9 U* _vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  * H: Q/ e1 p0 Y5 V
    vector<int> v;  ' t6 v4 q$ N4 {9 g9 }: l( p
    sort(v1.begin(),v1.end());     , ~+ l3 X: C% I9 ?
    sort(v2.begin(),v2.end());     
3 x) |( o3 r6 e    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
/ k5 `. ^- P% x    return v;  ( d( _/ o2 M. T/ ~' |
}  $ h; x$ ~  W+ f: Z6 n
  
2 ~. n' K! X9 g4 x  c0 a//两个vector求并集  
  @0 F  _: P- {: ~% M8 J8 F- M9 pvector<int> vectors_set_union(vector<int> v1,vector<int> v2){  * |. V3 z/ O; _! q- n1 X, \. n
    vector<int> v;  
( _5 C% i; a& X' _3 \/ Q1 q    sort(v1.begin(),v1.end());     $ Y4 K) O7 `- h. u, h! X
    sort(v2.begin(),v2.end());     
* |8 o: S) }: g5 Q# L    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
+ i3 M6 m, P$ q    return v;  
4 t0 r' V9 e9 @2 i9 y- G% I}  8 S; ^8 x0 J+ C3 e- ^. g. l
  3 A$ E% f3 x. n' B8 [. q$ v
//判断vector的某一元素是否存在  
* K" w7 K0 I" E8 r, g* gbool is_element_in_vector(vector<int> v,int element){  ! D3 Z7 b& x! V( h( I$ m
    vector<int>::iterator it;  
. F9 z0 m  T8 P0 u0 r    it=find(v.begin(),v.end(),element);  7 \5 m0 A" o- c2 |  p& u' G
    if (it!=v.end()){  
  F, O, j) w) n  e& `        return true;  . b2 h8 W; M$ Y; {7 B9 z
    }  
  B# u+ W6 Q! y& ~* b% k6 \    else{  
! M6 D* v( @* g        return false;  : n; c7 E2 K9 m1 M0 Q
    }  4 }$ n. t% K) X1 A7 L
}  
8 B7 r" N) f! }# {* {8 c" S  [/mw_shl_code]% K2 z" P; E+ G# Y% E8 e7 Q9 G: 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二次开发专题模块培训报名开始啦

    我知道了