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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x

" a9 s# R5 P% `2 M两个vector 去重复,相交,合并的函数分享
8 n, u# j* q8 \5 F
8 L: t! H% {$ T( l( R3 {' n/ @. W" B  t: _[mw_shl_code=c,true]//容器vector中元素的去重  
- [! @& L" z7 b" vvector<int> unique_element_in_vector(vector<int> v){  
) W, ]4 S' I6 [9 V    vector<int>::iterator vector_iterator;  
1 i' ?4 B  b; j    sort(v.begin(),v.end());  & V+ G' e0 {( \5 O
    vector_iterator = unique(v.begin(),v.end());  & z3 ~* g9 t7 Q6 E
    if(vector_iterator != v.end()){  
. U: A5 j  P5 G        v.erase(vector_iterator,v.end());  + X1 B3 Z0 P, w4 U% N, S
    }  
8 f6 W* B% M3 H- u/ G4 _: D/ }  Z: U4 r    return v;    y$ O+ v9 Y8 a0 Q
}  
# o5 @; F: M( I$ B/ j3 s  7 `  J; U: N" Y" K/ \( s  }8 f5 |+ `* V
//两个vector求交集  % G4 Y# |, p# i% m8 W
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  
6 s9 e/ j4 _! s( |1 u7 \" x    vector<int> v;  
! X$ E% e0 B. `5 F    sort(v1.begin(),v1.end());     
2 b3 W% Y5 P: u9 n& d4 l" ~$ Y    sort(v2.begin(),v2.end());     
$ G/ L1 F2 X6 M    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   - f+ \( r9 ^/ t
    return v;  7 }2 h) v7 a6 g( f9 O- n
}  5 G+ U) [9 W, j" _% i
  
; K0 S: ^4 c$ e/ e. U% J8 k//两个vector求并集  " P* J! ~3 |3 W1 @! a
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){  ; M  I! }7 `9 C; T
    vector<int> v;  # A2 h7 ^& a( y) d
    sort(v1.begin(),v1.end());     * w9 `3 ~6 X. d& s+ g3 q9 ~
    sort(v2.begin(),v2.end());     
" x& g2 I9 i/ S8 i2 \# `    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   6 B1 L  X% a. i4 o. j
    return v;  - p. Z4 t/ \5 j3 V# \
}  
; o  t8 v% q* h$ S( n2 H  - n) o3 M4 N; |4 t6 d
//判断vector的某一元素是否存在  # B% x7 G6 T: T; L' Y* }
bool is_element_in_vector(vector<int> v,int element){  
4 K/ c4 u+ W3 m9 c- u9 T2 _' v    vector<int>::iterator it;  
( t7 E" F) t& D0 A    it=find(v.begin(),v.end(),element);  : O  ]% I# g( m% S
    if (it!=v.end()){  
1 H' R+ n/ E! Q8 v8 a8 V* o        return true;  
& x5 f% N: q& X9 l/ |+ {. H    }  
. X+ Q% k& S. \/ F1 Z    else{  
2 }% D, c9 B- F2 u  u: l        return false;  
4 C7 S- o/ N$ W    }  
. k" z' [; J, D3 s6 B: w}  
% \7 K8 X7 r+ U8 E: \8 d9 _" S( ]' y  [/mw_shl_code], m5 i) r1 ]) J% L/ T4 v+ ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了