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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x
% F4 I7 L) y- p& o* q- A# x* M0 p6 F
两个vector 去重复,相交,合并的函数分享
- N, m6 q4 T1 b4 j# C/ C7 }4 G
- P/ Y0 z4 M! O! @% f& g: ~[mw_shl_code=c,true]//容器vector中元素的去重  * i$ ^& X6 a0 ^( ~9 p, F+ H4 o4 ?
vector<int> unique_element_in_vector(vector<int> v){  
' g) _; D- M7 v' i8 f* o4 U5 i    vector<int>::iterator vector_iterator;  
9 w6 k- D6 d) ~$ T! \+ W0 S    sort(v.begin(),v.end());  + A% @/ b: ], @# c' E+ d5 ~  n
    vector_iterator = unique(v.begin(),v.end());  , \* _9 ~: D1 t, D9 V8 \
    if(vector_iterator != v.end()){  
4 Y# B7 H8 W8 a- q3 [7 d        v.erase(vector_iterator,v.end());  ; [) o2 ?7 y; E$ p% T0 i/ q6 G
    }  ( i5 d. _7 ^# K" z% d
    return v;  
4 N# m) s( c  \. f9 D% P+ T( B}  
3 h4 [! B8 R: e+ a6 Y# V& d  3 s, L: S' s5 {
//两个vector求交集    V: m( n9 _9 ^0 n* [, r
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  ! y1 a/ u! N9 V. a
    vector<int> v;  & r- N* J4 c6 ?
    sort(v1.begin(),v1.end());     
# |. `3 q$ {4 q    sort(v2.begin(),v2.end());     5 {* x: Y: N- L6 ~
    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
* h/ }: H6 u% I    return v;  
- x! b$ e+ |! B2 B}  
/ d4 |& T5 _' T" |1 h  / y) s5 I" v* ]1 P* _
//两个vector求并集  
, L, f/ \! g- f% E5 t0 {4 e7 wvector<int> vectors_set_union(vector<int> v1,vector<int> v2){  
; }3 ~! w1 @# P( \7 X7 K    vector<int> v;  9 V8 q0 q9 N5 h
    sort(v1.begin(),v1.end());     ; V* O+ L& U- L7 a& e
    sort(v2.begin(),v2.end());     
* _! {7 {6 N3 N! K    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
5 P1 o& h6 d9 x' p* z. H    return v;  / s4 @. s: [5 X6 V
}  
, U; e5 F5 L/ g  # c. O7 E6 E+ S9 Y
//判断vector的某一元素是否存在  $ g- f+ c# B% G3 U+ X8 I: |
bool is_element_in_vector(vector<int> v,int element){  3 {2 K9 e4 B, \. \8 w. X' X9 {! A
    vector<int>::iterator it;  
/ U: L- z3 O- U7 ~+ Z    it=find(v.begin(),v.end(),element);  / s+ Z: [4 J6 c, f
    if (it!=v.end()){  7 d; C+ {0 s/ t. o
        return true;  " d; [# N( t. H& q1 c
    }  ' M( w% u) C: w, ]) ?# a2 ]
    else{  
+ a; W/ G1 o8 e) c" Z' p7 E        return false;  
' x% g3 b9 V2 A9 R    }  
( J$ u; H5 s  N3 e) n' c}  
+ Q/ i/ {( S) S3 U4 |  [/mw_shl_code]
( k. B* C- `+ \3 M- f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了