Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
32
Task/Symmetric-difference/Oz/symmetric-difference-1.oz
Normal file
32
Task/Symmetric-difference/Oz/symmetric-difference-1.oz
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
declare
|
||||
fun {SymDiff A B}
|
||||
{Union {Diff A B} {Diff B A}}
|
||||
end
|
||||
|
||||
%% implement sets in terms of lists
|
||||
fun {MakeSet Xs}
|
||||
set({Nub2 Xs nil})
|
||||
end
|
||||
|
||||
fun {Diff set(A) set(B)}
|
||||
set({FoldL B List.subtract A})
|
||||
end
|
||||
|
||||
fun {Union set(A) set(B)}
|
||||
set({Append A B})
|
||||
end
|
||||
|
||||
%% --
|
||||
fun {Nub2 Xs Ls}
|
||||
case Xs of nil then nil
|
||||
[] X|Xr andthen {Member X Ls} then {Nub2 Xr Ls}
|
||||
[] X|Xr then X|{Nub2 Xr X|Ls}
|
||||
end
|
||||
end
|
||||
in
|
||||
{Show {SymDiff
|
||||
{MakeSet [john bob mary serena]}
|
||||
{MakeSet [jim mary john bob]}}}
|
||||
{Show {SymDiff
|
||||
{MakeSet [john serena bob mary serena]}
|
||||
{MakeSet [jim mary john jim bob]}}}
|
||||
9
Task/Symmetric-difference/Oz/symmetric-difference-2.oz
Normal file
9
Task/Symmetric-difference/Oz/symmetric-difference-2.oz
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
declare
|
||||
fun {SymDiff A B}
|
||||
{FS.union {FS.diff A B} {FS.diff B A}}
|
||||
end
|
||||
|
||||
A = {FS.value.make [1 2 3 4]}
|
||||
B = {FS.value.make [5 3 1 2]}
|
||||
in
|
||||
{Show {SymDiff A B}}
|
||||
Loading…
Add table
Add a link
Reference in a new issue