Множества произвольного типа
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Базовый тип для множества может быть произвольным.
var
s1: set of string := ['Иванов','Попов','Сидорова','Петров'];
s2: set of string := ['Козлов','Петров','Иванов'];
begin
writeln('Множество s1: ',s1);
writeln('Множество s2: ',s2);
writeln('Объединение множеств s1 и s2: ',s1+s2);
writeln('Пересечение множеств s1 и s2: ',s1*s2);
writeln('Разность множеств s1 и s2: ',s1-s2);
Include(s1,'Умнов');
s1 -= ['Иванов']; // делает то же, что и Exclude
writeln('Множество s1: ',s1);
write('Множество s2: ');
foreach str: string in s2 do
write(str,' ');
end.
Множества внутри устроены не как битовые векторы, а как хеш-таблицы, за счет этого операции с ними менее эффективны.