|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 A; I' S `: T两个vector 去重复,相交,合并的函数分享: O8 J M! T) j. n* `6 T
, Y% j2 r- }6 Y" W8 d1 P[mw_shl_code=c,true]//容器vector中元素的去重
# |( r2 l9 i; v6 o$ avector<int> unique_element_in_vector(vector<int> v){
9 O6 A, P$ v* D7 t vector<int>::iterator vector_iterator; 9 i: H9 o; v' ?* H
sort(v.begin(),v.end());
% t: Z6 Q" h- T, |1 } vector_iterator = unique(v.begin(),v.end());
9 N" e+ [8 N6 `' t3 u7 O if(vector_iterator != v.end()){
& r$ C& ]* I3 H3 F6 y- n v.erase(vector_iterator,v.end());
u2 q/ x Q/ j }
4 j5 _6 G1 f* A' _; a return v;
7 L% ^5 P K+ X& A- {}
* I% Z. x" F6 `8 a% |2 G% I
$ L# S4 |& Y2 p' d1 `: k3 W1 Z//两个vector求交集
" E! }! P6 ]5 l5 P9 pvector<int> vectors_intersection(vector<int> v1,vector<int> v2){ * e6 s0 ~4 U- I
vector<int> v;
. f% d) t; d) @; B& G, d5 @* {6 v: h& L sort(v1.begin(),v1.end()); * A) E Q8 B& `# a q+ U
sort(v2.begin(),v2.end());
* U" r2 k0 W! C9 d6 A set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
& m. ?, F5 g7 }* ^. W# ^9 _ return v;
7 S, T* \* w/ Y; a}
. J$ m2 W% u2 l+ q8 C: e1 P 2 _4 K0 W& Z* u* G: B$ d
//两个vector求并集 7 ?% C' Z9 Z' M/ L' S- A; N
vector<int> vectors_set_union(vector<int> v1,vector<int> v2){
. a6 c& ~9 f- {! d vector<int> v;
2 {* f) I5 l3 j! B- z sort(v1.begin(),v1.end()); 0 a' X7 K# r+ i7 u' ?7 P. S
sort(v2.begin(),v2.end());
; f7 M& D3 J. z. D set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserter(v));//求交集
" D4 F+ t# j: ]( |9 Z return v;
8 Q: i# _# y! g9 h6 x: N} , o ~. G9 U. o6 M m* r
( E9 Q% ]: ?7 @+ L5 F//判断vector的某一元素是否存在 ( t5 Y2 N9 b" i1 _2 {# M
bool is_element_in_vector(vector<int> v,int element){
& ^; j/ K2 v i" \ vector<int>::iterator it;
' a, `/ X9 G h& R m+ ]! v it=find(v.begin(),v.end(),element); ( r* u& E% J( t6 s
if (it!=v.end()){ % [" u2 s" l! [7 ]& E9 m3 f
return true; 9 V( _3 s7 q# L$ k
} / n/ E% Y4 ?9 u, I! {, a6 i7 N/ H# F( z
else{
0 r) Y3 h6 W- [- H4 J3 I return false; 1 Q; A( [% H" _: z4 t
}
; t) X n, k; o( D} - u2 k2 m4 Z, \2 a" Q! |
[/mw_shl_code]
, r* v: i- R. {! V- S- |# N |
|