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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x
7 E1 N- ?# t2 C+ J7 \
两个vector 去重复,相交,合并的函数分享7 e0 }$ d% @) a$ H% _1 D6 `

4 N6 l: S" L+ y7 d[mw_shl_code=c,true]//容器vector中元素的去重  : b3 U' L. X5 o$ M& d6 J3 T- ?
vector<int> unique_element_in_vector(vector<int> v){  + V) E0 _, Q( C0 _
    vector<int>::iterator vector_iterator;  
; o/ Y3 {, D2 ~4 l' b    sort(v.begin(),v.end());  
( X* h% _& F* [7 i( e' D0 [6 A    vector_iterator = unique(v.begin(),v.end());  - ?* n6 ^3 E: M5 C1 Y7 W/ M# }
    if(vector_iterator != v.end()){  ( i: N& \% y1 c* I! n2 B
        v.erase(vector_iterator,v.end());  
+ Y4 j+ I2 o8 p    }  2 B+ S/ A; f& T7 k) m
    return v;  
" e, @% t) U5 r5 A, F8 R; [- A}  
: w! v/ M* q* X) v& S  & Q& l0 h7 Z  a- v7 e/ q7 v, d
//两个vector求交集  / M' x* }" e, i1 t7 l5 f  L
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  ; H# t0 P; I: P
    vector<int> v;  
4 B2 Z+ `$ b4 x2 [: r' E    sort(v1.begin(),v1.end());     5 q- f: N" E' o8 d6 j3 ^* V
    sort(v2.begin(),v2.end());     2 M% Z8 S3 @; R! r, k
    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   , Z9 E) B* H; Y# T
    return v;  
( u+ c3 Q) }1 I7 @4 k; V  h}  
( }, Q" ?5 E" G7 v  , g- ~+ e4 V- `
//两个vector求并集  
1 [7 F0 t: s* `! Y* x1 f& Xvector<int> vectors_set_union(vector<int> v1,vector<int> v2){  
" N% G. ~; f, Q. ?& G    vector<int> v;  
. z9 P3 r2 |9 I9 }" W    sort(v1.begin(),v1.end());     6 U# V& _6 ]* N/ n# B! E1 L. f
    sort(v2.begin(),v2.end());     
" U+ v& `! O0 y& c# E    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
9 ~/ {! f; ^. c( x' _) L    return v;  6 ]' G# O. S$ t7 Z" n
}  
1 s% U3 V' B' @/ @/ ]  p2 L  
8 ?9 A( p" `1 M0 }& K//判断vector的某一元素是否存在  
0 J0 P6 w, x/ @+ ^, hbool is_element_in_vector(vector<int> v,int element){  0 C0 \7 E5 }  `: r6 f
    vector<int>::iterator it;  & g1 c6 l7 w0 @* d
    it=find(v.begin(),v.end(),element);  , P$ T. P1 _+ D% m& y% t- d5 k
    if (it!=v.end()){  
1 s7 I7 q; v5 s4 `  ~        return true;  & }0 U! _! q/ R; f* Q0 `
    }  3 @# I6 ~. k/ P8 T. e1 g) c
    else{  
# e' z/ d! O8 I: Y        return false;  
0 a2 d( V* C# p    }  7 W2 H$ X" r+ ~7 F% ~
}  
9 d4 P- x, A9 k2 ~/ s. l  [/mw_shl_code]% E) d2 |5 s: H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了