PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x
. `4 G6 O% C& e# `) R0 Y, i
两个vector 去重复,相交,合并的函数分享: X! l. o5 V+ J3 |1 ?9 j

7 s2 N2 Z% p$ M+ j# G( Z[mw_shl_code=c,true]//容器vector中元素的去重  , o1 D1 E, f( a* F$ ^
vector<int> unique_element_in_vector(vector<int> v){  
) a3 {7 F  G1 A0 c/ D    vector<int>::iterator vector_iterator;  
; N  u1 Q' a. P, }1 Y. W, j    sort(v.begin(),v.end());  $ L% B) ]  W* e5 k
    vector_iterator = unique(v.begin(),v.end());  
% r  v2 j$ \+ W) v! |/ R    if(vector_iterator != v.end()){  & v8 J' @6 _/ j4 J+ V8 U
        v.erase(vector_iterator,v.end());  / Z9 Q- c7 ]) G' f+ E8 u
    }  7 d9 _- `4 r: E- B0 b1 t- A
    return v;  
8 z" K& o* n5 C; J9 ]}  
& K: O% Y- [! h  
0 W( e4 P; K8 T% O6 h* w/ v) b//两个vector求交集  0 l. o! N4 ]9 r
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  
. p  }7 m! l1 a+ @) r  E! g    vector<int> v;  4 J, f( D1 R. B+ A
    sort(v1.begin(),v1.end());     
# r5 A! i1 u0 y" A4 t' X    sort(v2.begin(),v2.end());     
* @7 q% P+ s) j8 G5 M$ U; T* K    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
9 V- \9 z/ [7 n' H    return v;  
: P! }: B# w1 D7 \6 _& ]}  , l, d7 C2 T7 y
  
1 u" J  d; W+ K, n6 H* X9 k+ d//两个vector求并集  
4 {2 y& N# E% H+ E2 {vector<int> vectors_set_union(vector<int> v1,vector<int> v2){  $ d6 s0 M" v" ~' A+ n
    vector<int> v;  % |1 f9 q5 V1 i2 m/ k
    sort(v1.begin(),v1.end());     
& X' i% o: T& R    sort(v2.begin(),v2.end());     & H2 Q2 E% u, {8 {
    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   ) v% w/ z3 q/ ~3 y4 C" N9 x) |
    return v;  
& |1 z: @- t  r. S8 H}  
5 r- t0 c3 j' S/ N& i  " W- q1 Y6 Z# F) J# J7 {0 [
//判断vector的某一元素是否存在  
* p8 i5 W6 @7 K3 G6 d3 tbool is_element_in_vector(vector<int> v,int element){  
. d& ^$ y. ?! t$ z  `& n    vector<int>::iterator it;  
# {( k5 l* e9 e( U# f8 U    it=find(v.begin(),v.end(),element);  ( e' ^! @6 B2 H5 e
    if (it!=v.end()){  % n2 D" u) S2 c" R% Z! x& _
        return true;  
' \6 u. k; P9 m9 a% g2 A    }  
2 ]7 t9 |) A. e; l. G    else{  8 \  B: O2 O+ t" N
        return false;  
* _# u; |; p* y7 j4 h    }  
& m0 B/ z, N- R}  
9 y4 n: z- X4 g: ~* I* Y* o5 Q  [/mw_shl_code]
. D9 R) }( S' P$ }( 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二次开发专题模块培训报名开始啦

    我知道了