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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x

  Q1 Y- \7 T) r$ R两个vector 去重复,相交,合并的函数分享2 ~0 h6 B8 \% Q7 I; C) F  Q3 C

  e7 U, g2 S4 a% R" a, g[mw_shl_code=c,true]//容器vector中元素的去重    M4 {( |4 j4 Y& B! j' N
vector<int> unique_element_in_vector(vector<int> v){  ! R. P7 s  g" i: K, C  m
    vector<int>::iterator vector_iterator;  1 |1 ^0 H! z% m
    sort(v.begin(),v.end());  
0 u! x. V" [/ D    vector_iterator = unique(v.begin(),v.end());  " A7 I8 O( O) b. t9 |* O* @
    if(vector_iterator != v.end()){  6 N: P2 J! ]7 i2 Q. z4 L
        v.erase(vector_iterator,v.end());  
; T$ B& k+ M6 F" `5 R% o5 w    }  
: H* r% b. _7 [    return v;  
! A; x# Z3 q" a- q. [}  , b  f. L5 R- D: ]: x
  5 Q) G# c9 m! ~. K& n
//两个vector求交集  
! \" N7 `& g' }. ivector<int> vectors_intersection(vector<int> v1,vector<int> v2){  + _: J- y7 l+ G: a+ q
    vector<int> v;  
; a7 V1 M% z7 d/ u    sort(v1.begin(),v1.end());     0 I' L: i/ t6 D& R
    sort(v2.begin(),v2.end());     % b7 d0 c$ u( f. g% E% D
    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   . M6 J3 e( |& h5 r9 W; Q( Q
    return v;  
% k  D- W5 ?. s- v}  / Z7 e* Z" \, y& N! ]) n, ~
  
% l% y4 c! D  w//两个vector求并集  + R* N8 a7 q- J( D
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){  
/ `& w  D" h4 c6 d! G# ^5 u    vector<int> v;  * @- g+ v# F1 J$ v+ t+ a
    sort(v1.begin(),v1.end());     0 R) U. X- d, Z, F3 \* F
    sort(v2.begin(),v2.end());     
" [+ A% k% U' N/ D$ o. ~    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
0 a& q/ j1 @* v8 \4 z- r    return v;  " w2 N8 q- h" T3 v
}  7 ]9 A* y( M: H9 N. _% K# @4 ]
  % E% r" u( S5 W2 A3 x5 c/ Z7 K7 G
//判断vector的某一元素是否存在  4 g. ?5 h. z! S8 ^9 [3 l+ d4 _
bool is_element_in_vector(vector<int> v,int element){  
' ^' j  J; p0 a8 |" {8 Y5 \    vector<int>::iterator it;  
7 |& p  ~* G! }1 g    it=find(v.begin(),v.end(),element);  
: J) d! r9 M* A3 s; `  Z9 E% e- i* u    if (it!=v.end()){  
) C0 s: {, U7 E0 C( j% J        return true;  ' J  C1 B6 v" I, R  s
    }  
7 U& Y0 N5 ]' ~1 X* O, y    else{  
4 L4 l1 ^; s) [3 l- l6 g& L        return false;  % T( p) o+ s3 o( P0 n
    }  " Z; F* f, t1 A- [& z: C
}  2 {- ]1 A# s5 q* |$ z1 S
  [/mw_shl_code]
! P8 k$ v1 @4 R5 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了