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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x

# G2 n1 u" O0 U3 W* K( f" ~% I( k两个vector 去重复,相交,合并的函数分享
; X* e) v& H* N. I
+ R$ U4 b( ]% ]! [2 W  N+ d[mw_shl_code=c,true]//容器vector中元素的去重  ' H+ q) h7 v  A* p  f- A% p3 v+ E
vector<int> unique_element_in_vector(vector<int> v){  6 i8 [( x+ L. K8 V0 x# O
    vector<int>::iterator vector_iterator;  & \# ~: F3 z* G. K4 I
    sort(v.begin(),v.end());  
: p4 d& n! u& r: g; _5 J    vector_iterator = unique(v.begin(),v.end());  
" s7 F! T3 b: m$ N    if(vector_iterator != v.end()){  1 z1 s/ M& E5 n5 B) ?
        v.erase(vector_iterator,v.end());  
+ s/ v1 G  ^( U9 }8 @( a: R" M    }  
' ^* Y& N# V0 X. c: |- c" A/ _4 w    return v;  
* t. }2 P$ e6 N5 L) e7 M}    ~/ I: D6 i1 |7 L
  * Q; ]: E0 M/ [9 h: E( \
//两个vector求交集  
% o" z" W5 O6 c, |* V! Jvector<int> vectors_intersection(vector<int> v1,vector<int> v2){  
6 n3 A$ C8 o* A8 K3 `0 k    vector<int> v;  
# D0 [# g4 J7 g: E    sort(v1.begin(),v1.end());     
9 F! O* }+ G; G7 n6 ]; g" l    sort(v2.begin(),v2.end());     
1 B2 N5 s# c/ n; w    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
- w# z7 G) s. l+ W    return v;  
' a4 z$ b5 D7 \; T( l}  / ]) c% y2 V8 e$ u
  . R3 y- U1 K3 V) C8 \% c
//两个vector求并集  
3 s8 r) ^2 a/ Y( l- X( c. Ovector<int> vectors_set_union(vector<int> v1,vector<int> v2){  
/ x, V4 p7 ]9 z+ k) R$ b    vector<int> v;  
7 }0 b" B# K4 ^% N7 ?" H    sort(v1.begin(),v1.end());     : h  C" A5 q3 Z& Z" u' O
    sort(v2.begin(),v2.end());     9 [' v7 s- f2 z& L1 T1 M; J
    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   5 M) ^; i7 A* T0 w' ]: E3 @
    return v;  3 |0 {. A' D8 G. h8 Y. Y+ f8 |
}  
: a! s4 G: p- [% @8 W  
0 i7 z  c1 Y1 S! M& I; \//判断vector的某一元素是否存在  7 D( c# l3 i1 X& Q( m  ?% y
bool is_element_in_vector(vector<int> v,int element){  
: I: p$ [8 k( I$ u  `; L- d5 E* c    vector<int>::iterator it;    O; g9 H4 F9 x* w! f
    it=find(v.begin(),v.end(),element);  
/ j- Y( u$ j* @    if (it!=v.end()){  . B# t! X( _  J8 J
        return true;  
+ `* ]' z* u8 u, Z, [* v" }& f& c    }  
  d% n0 E/ A( i0 o* {( _    else{  
1 @& l2 |: T6 h' L% o6 c6 ]# \6 X2 \        return false;  ( ^& A4 v/ `& B) H# z2 [2 Z
    }  
# v' p3 T1 E8 M: n! I, N}  ; k9 B- V; {! F. `
  [/mw_shl_code]8 p. R7 {3 v& b+ k6 f. F* Q: 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二次开发专题模块培训报名开始啦

    我知道了