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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x
5 E" M$ X' M1 R* y. h7 ]
两个vector 去重复,相交,合并的函数分享9 X0 N/ {/ |1 O- |/ V6 Y0 J& K( q! n, e3 z
; U4 m  T* h+ J4 A% u
[mw_shl_code=c,true]//容器vector中元素的去重  
8 T) d/ S3 {' A* N5 H  fvector<int> unique_element_in_vector(vector<int> v){  4 q, g4 A% ?/ V" i5 ?1 G
    vector<int>::iterator vector_iterator;  ' _6 G" e' p4 T% J
    sort(v.begin(),v.end());  
- ?! ~. f: t4 q' p2 @% t    vector_iterator = unique(v.begin(),v.end());  
& i6 ~) L, Q( Q8 a    if(vector_iterator != v.end()){  4 D2 x( Y9 k2 i/ ?
        v.erase(vector_iterator,v.end());  * O4 l/ F- C9 j( l. w( U
    }  1 U' q' O' W  o( g9 h  s6 ]
    return v;  # d4 X( T  R) Z' U# y/ T
}  
* |6 J; }* i5 ~  2 L4 T. Q. X+ [+ }7 N  e
//两个vector求交集  
$ C( n2 @2 y% `, ~2 q& [vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  6 k/ L4 [, k; T1 ]1 P
    vector<int> v;  % F; C9 ^! M' i* R& d# q
    sort(v1.begin(),v1.end());     
7 j$ Y; K$ \: ~! \$ y9 F- l" C- U    sort(v2.begin(),v2.end());     
1 c! H) a( l& H+ p0 a  e, ?; I    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   5 r) o' z$ r: \+ |5 D0 Y0 n# a
    return v;  & ~) P% E1 M0 w
}  
0 d6 H7 |& G4 H0 ]+ E+ Y! }9 K& |3 z  
7 H7 T1 `: @. ~4 `0 \! y+ V//两个vector求并集  
% y% ^1 m1 Q( @% n, p* yvector<int> vectors_set_union(vector<int> v1,vector<int> v2){  # I3 d3 k5 z# K8 l" d* Z
    vector<int> v;  
& `& Q: u( P- J$ F$ j    sort(v1.begin(),v1.end());     
" K8 O: A& n  h0 e' C1 C+ \8 F: n    sort(v2.begin(),v2.end());     # V! S( ]' v" s( T0 ]2 S- i7 p
    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
# X; y7 U. Z5 @: M( w    return v;  1 \. p: {' ^( \$ ^; `5 h  q% ?
}  ' j- \* B2 X* F
  % q, N' s! x: D6 E0 f6 f
//判断vector的某一元素是否存在  
% Y0 Z% d" S& n+ Zbool is_element_in_vector(vector<int> v,int element){  
: ^- j5 L2 k2 ~% M    vector<int>::iterator it;  : V1 \. y! G/ u% ^
    it=find(v.begin(),v.end(),element);  
5 z" f: j$ l; r" t6 Z% v    if (it!=v.end()){  - d7 P" o) [# ^& B
        return true;  6 T' S+ I/ h1 w1 \
    }  
) ?6 l5 j0 v4 R5 ~    else{  
; I& e9 t8 g& k- ^6 O        return false;  # x6 |! H6 A. U5 A6 ^1 O+ j1 B
    }  8 S7 O" o8 P9 g. ]9 S  T$ o7 L0 X
}  
% W" @; B2 S' Y6 E0 H7 I5 L  [/mw_shl_code]- a! u8 l! b( K) x8 ^
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了