2020-01-05 03:46:19 +03:00
|
|
|
import Collection;
|
|
|
|
|
|
2020-01-15 05:24:35 +03:00
|
|
|
local s = emptySet (), i;
|
2020-01-05 03:46:19 +03:00
|
|
|
|
2020-01-15 05:24:35 +03:00
|
|
|
for i := 0, i < 100, i := i+1
|
|
|
|
|
do
|
|
|
|
|
s := addSet (s, i);
|
|
|
|
|
validateColl (s)
|
2020-01-05 03:46:19 +03:00
|
|
|
od;
|
|
|
|
|
|
2020-01-15 05:24:35 +03:00
|
|
|
printf ("Set internal structure: %s\n", s.string);
|
|
|
|
|
printf ("Set elements: %s\n", elements (s).string);
|
2020-01-05 03:46:19 +03:00
|
|
|
|
2020-01-15 05:24:35 +03:00
|
|
|
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))
|
2020-01-05 03:46:19 +03:00
|
|
|
od;
|
|
|
|
|
|
2020-01-15 05:24:35 +03:00
|
|
|
for i := 50, i < 150, i := i+1
|
|
|
|
|
do
|
|
|
|
|
s := removeSet (s, i);
|
|
|
|
|
validateColl (s)
|
|
|
|
|
od;
|
|
|
|
|
|
|
|
|
|
printf ("Set internal structure: %s\n", 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))
|
2020-01-15 06:12:01 +03:00
|
|
|
od;
|
|
|
|
|
|
|
|
|
|
printf ("List set: %s\n", listSet ({1, 2, 3, 4, 5}).string);
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
local u = union (listSet ({1, 2, 3, 4, 5}), listSet ({11, 22, 33, 44, 55})), u1;
|
|
|
|
|
|
|
|
|
|
validateColl (u);
|
|
|
|
|
|
|
|
|
|
printf ("Set union: %s\n", u.string);
|
|
|
|
|
printf ("Elements: %s\n", elements (u).string);
|
|
|
|
|
|
|
|
|
|
u1 := diff (u, listSet ({1, 22, 3, 44, 5}));
|
|
|
|
|
validateColl (u1);
|
|
|
|
|
|
|
|
|
|
printf ("Set difference: %s\n", u1.string);
|
|
|
|
|
printf ("Elements: %s\n", elements (u1).string)
|
|
|
|
|
}
|
2020-01-15 05:24:35 +03:00
|
|
|
|