import Collection; local s = emptySet (compare), i; for i := 0, i < 100, i := i+1 do s := addSet (s, i); validateColl (s) od; printf ("Set internal structure: %s\n", internalOf (s).string); printf ("Set elements: %s\n", elements (s).string); for i := 0, i < 100, i := i+1 do printf ("Testing %-3d => %d\n", i, memSet (s, i)); printf ("Testing %-3d => %d\n", i+100, memSet (s, i+100)) od; for i := 50, i < 150, i := i+1 do s := removeSet (s, i); validateColl (s) od; printf ("Set internal structure: %s\n", internalOf (s).string); printf ("Set elements: %s\n", elements (s).string); for i := 0, i < 100, i := i+1 do printf ("Testing %-3d => %d\n", i, memSet (s, i)) od; printf ("List set: %s\n", internalOf (listSet ({1, 2, 3, 4, 5}, compare)).string); { local u = union (listSet ({1, 2, 3, 4, 5}, compare), listSet ({11, 22, 33, 44, 55}, compare)), u1; validateColl (u); printf ("Set union: %s\n", internalOf (u).string); printf ("Elements: %s\n", elements (u).string); u1 := diff (u, listSet ({1, 22, 3, 44, 5}, compare)); validateColl (u1); printf ("Set difference: %s\n", internalOf (u1).string); printf ("Elements: %s\n", elements (u1).string) }