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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x

. f* ?/ C. Q3 H  X4 a+ I两个vector 去重复,相交,合并的函数分享& C/ l7 g9 W9 H1 h9 o
4 a5 B( i9 z' V1 k
[mw_shl_code=c,true]//容器vector中元素的去重  
0 N1 f  T, f# a  }4 D# W9 Ivector<int> unique_element_in_vector(vector<int> v){  
/ c+ W( T+ D( Q% Q2 I    vector<int>::iterator vector_iterator;  
( s' ^6 {8 p0 u2 g    sort(v.begin(),v.end());  
, W9 [4 k! m5 Z4 \8 @! T/ g    vector_iterator = unique(v.begin(),v.end());  
( E3 Z0 U4 ?1 O1 L+ e    if(vector_iterator != v.end()){  ! _: p7 j6 h. d& I$ k& }' q
        v.erase(vector_iterator,v.end());  0 F! W  ]" [% p9 Q: _' r, Q0 k
    }  3 \. a* ]3 \, o3 d: w! u/ W
    return v;  3 ?6 d: ?; w& g4 B
}  
, y& I& V6 d( d  
, [0 i8 @2 |& e# R//两个vector求交集  # U# X  Q; _  O
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  2 y' A9 C+ b; t$ T
    vector<int> v;  
6 i4 y! _) y: ~- S4 G/ M& L    sort(v1.begin(),v1.end());     " B* ]' L+ l; R! U9 D8 L
    sort(v2.begin(),v2.end());     / ~# P% I% N- f6 w1 y
    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
# W, p" ]1 r6 j6 k    return v;  
& ~! R& s5 R+ d+ y* X; D+ |$ B}  
, ^5 I. i/ f9 k  
0 Y0 H7 T- @' J1 f; \! O//两个vector求并集  
/ z' c) p7 S% yvector<int> vectors_set_union(vector<int> v1,vector<int> v2){  
6 N8 Q1 h6 O" x/ W1 _6 f    vector<int> v;  
: H& O! Q( k9 V! e) S( r+ Z2 s7 b    sort(v1.begin(),v1.end());     
- ]- Q0 p+ n! u: ~# R( V% k    sort(v2.begin(),v2.end());     3 d- s# D4 h7 }4 Y$ |$ p2 l  [
    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
# h3 z% ]. x1 ^" R! {    return v;  
, D% O! U. v3 K}  
( I1 U' `. S' w7 V  ( q- f: X1 X) D4 W& ?
//判断vector的某一元素是否存在  : L1 b. ]' Q9 ]3 m* v, _# C8 f
bool is_element_in_vector(vector<int> v,int element){  9 }) W/ b" O! f& K: r7 M. S/ _5 N( Y
    vector<int>::iterator it;  . A; Q* p' o7 ]
    it=find(v.begin(),v.end(),element);  
" {% e: @& |$ z4 H    if (it!=v.end()){  
. q8 g( {8 l: |5 d: v        return true;    }$ o. Y2 b# a7 W3 d
    }  $ A. T$ s* W* x+ g9 A
    else{  
# Z0 [3 s- @! n- D" G$ F        return false;  
. J* j% Z2 B) X; C# Y) {    }  
6 k5 Y+ H" ?) N1 y! V- t1 L; Q. h}  
; C6 i4 x3 \) O& ^5 G  [/mw_shl_code]
& i% ~5 E# E' i5 }0 ]/ F! Q% X4 P
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了