Data Update
This commit is contained in:
parent
015c2add84
commit
e50b5c3114
206 changed files with 6337 additions and 523 deletions
|
|
@ -0,0 +1,19 @@
|
|||
include "NSLog.incl"
|
||||
|
||||
local fn SymmetricDifferenceOfSets( setA as CFSetRef, setB as CFSetRef ) as CFSetRef
|
||||
CFMutableSetRef notInSetA = fn MutableSetWithSet( setB )
|
||||
MutableSetMinusSet( notInSetA, setA )
|
||||
CFMutableSetRef notInSetB = fn MutableSetWithSet( setA )
|
||||
MutableSetMinusSet( notInSetB, setB )
|
||||
CFMutableSetRef symmetricDifference = fn MutableSetWithSet( notInSetA )
|
||||
MutableSetUnionSet( symmetricDifference, notInSetB )
|
||||
end fn = fn SetWithSet( symmetricDifference )
|
||||
|
||||
CFSetRef set1, set2
|
||||
|
||||
set1 = fn SetWithObjects( @"John", @"Serena", @"Bob", @"Mary", @"Serena", NULL )
|
||||
set2 = fn SetWithObjects( @"Jim", @"Mary", @"John", @"Jim", @"Bob", NULL )
|
||||
|
||||
NSLog( @"Symmetric difference:\n%@", fn SymmetricDifferenceOfSets( set1, set2 ) )
|
||||
|
||||
HandleEvents
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
main :: [sys_message]
|
||||
main = [Stdout (show (symdiff a b) ++ "\n")]
|
||||
where a = ["John", "Serena", "Bob", "Mary", "Serena"]
|
||||
b = ["Jim", "Mary", "John", "Jim", "Bob"]
|
||||
|
||||
symdiff :: [*]->[*]->[*]
|
||||
symdiff a b = (a' -- b') ++ (b' -- a')
|
||||
where a' = nub a
|
||||
b' = nub b
|
||||
|
||||
nub :: [*]->[*]
|
||||
nub = f []
|
||||
where f acc [] = acc
|
||||
f acc (a:as) = f acc as, if a $in acc
|
||||
= f (a:acc) as, otherwise
|
||||
|
||||
in :: *->[*]->bool
|
||||
in i [] = False
|
||||
in i (a:as) = a == i \/ i $in as
|
||||
Loading…
Add table
Add a link
Reference in a new issue