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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x
* a* G8 Y/ ~* d9 ~5 X: A
两个vector 去重复,相交,合并的函数分享+ o% L2 B7 {' E
/ r  f3 ~% m% i; }& U; b& F$ w: x
[mw_shl_code=c,true]//容器vector中元素的去重  
7 Y9 r0 a& r* J+ m; P8 nvector<int> unique_element_in_vector(vector<int> v){  8 `/ Z0 _9 |" j- D3 C- a( ?
    vector<int>::iterator vector_iterator;  , M# U0 {) j. r9 |4 C6 v9 h
    sort(v.begin(),v.end());  # l3 b( L0 h: n& f
    vector_iterator = unique(v.begin(),v.end());  
9 {, l0 U: i" [8 S1 A0 T1 Q    if(vector_iterator != v.end()){  
2 D& k* E, R' _4 n- |* T( w( P        v.erase(vector_iterator,v.end());  
" Q6 h# ~- e: L* Y7 e- `- u& Y    }  * I' I. J- ?( K/ {) H: y6 e& r
    return v;  4 E% a) I; c) `9 a" s) o8 n" Z' ?# ]
}  
) t% K- T# `, W  
; H/ q! {6 [& \: u; C1 h//两个vector求交集  & r. ^6 r/ `8 C- l6 ~. v0 B
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  
2 _5 T8 p: @/ a% z    vector<int> v;  
( y# p6 W( o' F% E2 i! B5 Y    sort(v1.begin(),v1.end());     
! p$ R* Y& [0 s2 U$ J    sort(v2.begin(),v2.end());     
# `3 c( r3 C5 H( N6 G$ r3 K, _0 _    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   8 ~$ b) m2 S" q# \7 ?
    return v;  
9 i; C5 M0 O* R" i% R}  
' P7 I% q* Z% U4 |: p  
6 C- r9 f* x/ j, o1 H3 K% J//两个vector求并集  ) u$ @2 @8 L$ d2 T4 T0 O4 m
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){  
9 D; p- Q2 f- b4 y1 {, u6 u    vector<int> v;  , n; ^5 ~' M; G
    sort(v1.begin(),v1.end());     
0 g3 @6 ]' Z7 O    sort(v2.begin(),v2.end());     + ?" H' k; ^. h
    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
  l% ?6 Q  L" o5 z. b    return v;  3 b* F! ]; N# w* k
}  4 q" p+ n- w& I% F2 G3 t  A
  / ^$ j: s% y9 ^  Y1 `9 m
//判断vector的某一元素是否存在  
% {2 F7 P1 q/ D/ ebool is_element_in_vector(vector<int> v,int element){  
. C3 [& P; k' G# e    vector<int>::iterator it;  # T3 z: D9 M9 K5 M1 B/ X
    it=find(v.begin(),v.end(),element);  
" N! ~. o% B) }/ F( U9 d9 I! U- t& Z    if (it!=v.end()){  , r: Y* K: y% M
        return true;  
) f% `  D: G" |  `; l# y$ q    }  0 {( b' k" ~, e; G" i
    else{  
, _3 ~  h0 {8 z; P1 Z" G- ^. z! u        return false;  
( R3 P! m! ^# }" I% Q6 U    }  - n$ ?0 U! ~" g& I
}  * i; t6 N3 r. b1 D/ ?: }
  [/mw_shl_code]7 C) y, g, u1 e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了