blob: 0f3580206e97f442e4ecdb77b4ffad7b6cb14b8e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
function C = myunion(A,B)
% MYUNION Union of two sets of positive integers (much faster than built-in union)
% C = myunion(A,B)
if isempty(A)
ma = 0;
else
ma = max(A);
end
if isempty(B)
mb = 0;
else
mb = max(B);
end
if ma==0 && mb==0
C = [];
elseif ma==0 && mb>0
C = B;
elseif ma>0 && mb==0
C = A;
else
%bits = sparse(1, max(ma,mb));
bits = zeros(1, max(ma,mb));
bits(A) = 1;
bits(B) = 1;
C = find(bits);
end
|