Множества произвольного типа: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) Нет описания правки |
Mikst (обсуждение | вклад) Нет описания правки |
||
Строка 10: | Строка 10: | ||
writeln('Разность множеств s1 и s2: ',s1-s2); | writeln('Разность множеств s1 и s2: ',s1-s2); | ||
Include(s1,'Умнов'); | Include(s1,'Умнов'); | ||
s1 -= ['Иванов']; | s1 -= ['Иванов']; // делает то же, что и Exclude | ||
writeln('Множество s1: ',s1); | writeln('Множество s1: ',s1); | ||
Версия от 19:51, 9 января 2010
Базовый тип для множества может быть произвольным.
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.
Строки внутри устроены не как битовые векторы, а как хеш-таблицы, за счет этого операции с ними менее эффективны.