30 lines
768 B
Text
30 lines
768 B
Text
function Union(sequence a, sequence b)
|
|
for i=1 to length(a) do
|
|
if not find(a[i],b) then
|
|
b = append(b,a[i])
|
|
end if
|
|
end for
|
|
return b
|
|
end function
|
|
|
|
function Difference(sequence a, sequence b)
|
|
sequence res = {}
|
|
for i=1 to length(a) do
|
|
if not find(a[i],b)
|
|
and not find(a[i],res) then
|
|
res = append(res,a[i])
|
|
end if
|
|
end for
|
|
return res
|
|
end function
|
|
|
|
function Symmetric_Difference(sequence a, sequence b)
|
|
return Union(Difference(a, b), Difference(b, a))
|
|
end function
|
|
|
|
sequence a = {"John", "Serena", "Bob", "Mary", "Serena"},
|
|
b = {"Jim", "Mary", "John", "Jim", "Bob"}
|
|
?Symmetric_Difference(a,a)
|
|
?Symmetric_Difference(a,b)
|
|
?Symmetric_Difference(b,a)
|
|
?Symmetric_Difference(b,b)
|