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

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

[复制链接]

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

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

admin 楼主

2018-4-3 07:56:54

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

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

x

; A3 R4 [5 @  _6 N( ^两个vector 去重复,相交,合并的函数分享
4 }2 p+ \: M+ g- w2 U. k& P3 X( i- K, L& n/ M- j# T9 U
[mw_shl_code=c,true]//容器vector中元素的去重  
; o2 b6 u# H$ Y: Kvector<int> unique_element_in_vector(vector<int> v){  
) @8 W  B# O+ S# o7 T    vector<int>::iterator vector_iterator;  
$ J: b3 X9 _8 L' t. C    sort(v.begin(),v.end());  $ `: P& B+ }% ^+ U, G; k1 S
    vector_iterator = unique(v.begin(),v.end());  
2 Z5 |4 J" M, E3 p  ~% m    if(vector_iterator != v.end()){  
- K  R" K( j  J3 N        v.erase(vector_iterator,v.end());  - Q+ |7 S8 d. `/ F
    }  
- l: J" R1 ^& w7 G    return v;  
  y# k1 e$ Z4 s; j3 J. g}  9 D! `. a9 n* S% {
  3 `2 S. M* m6 ?' v
//两个vector求交集  ( M7 r2 C, Q: _! E) x2 v* m
vector<int> vectors_intersection(vector<int> v1,vector<int> v2){  
$ B# ^' K+ v* z/ |3 M8 c: j    vector<int> v;  3 J/ M4 g' {. B5 |3 M( ^
    sort(v1.begin(),v1.end());     ; U" z! C9 n9 G+ V2 @+ z: N: M
    sort(v2.begin(),v2.end());     1 C$ F0 ]: O7 v4 L" E4 _8 |8 R7 s
    set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   - ^# t1 z$ h" P" J6 s8 F0 D
    return v;  
. R- I) m: m3 B  s: {) J}  
) ~7 n3 R7 l6 R7 a  
" K. S0 m  ~! E' z; v9 A//两个vector求并集  . g" _# F! d& M& |' X
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){  : l* @- o$ L# z/ ~5 R
    vector<int> v;  " u; k2 e5 m6 E0 [9 O/ x) X$ f
    sort(v1.begin(),v1.end());     
# e3 C3 v8 r3 }$ u  \, J) A4 \    sort(v2.begin(),v2.end());     
" ?( I' [* g2 q. K. z2 l    set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集   
) F# f5 g% f7 Y, x, X    return v;  9 j1 I0 y. Y7 R; n$ x( A
}  9 M: z' i& n+ \' A& F, [  M0 d
  + M1 H) Y4 {3 T2 [
//判断vector的某一元素是否存在  * v9 f: k( x! W& Q4 ~  @6 R
bool is_element_in_vector(vector<int> v,int element){  8 T% O8 }) t1 M8 N4 a
    vector<int>::iterator it;  
# f) |( v- M6 T; p% L4 O; A  n) L    it=find(v.begin(),v.end(),element);  * ?" E7 P) k; G: G; a
    if (it!=v.end()){  
$ C0 F; n6 c# E, F- s, ?        return true;  " H( H: e& {# f  X) D2 Q4 |
    }  
1 S! C' M' z5 U, t0 G" i3 ^    else{  3 m9 R0 L, y1 |
        return false;  ! N# `1 U* q/ b/ T
    }  ! n1 K/ K. C- d, o: t  a
}  # j' |$ q4 x8 k
  [/mw_shl_code]
4 H  A$ ?, y7 O& f& w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了