Множества произвольного типа: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) (→Ссылки) |
Ibond (обсуждение | вклад) Нет описания правки |
||
Строка 17: | Строка 17: | ||
write(str,' '); | write(str,' '); | ||
end. </source> | end. </source> | ||
Множества внутри устроены не как битовые векторы, а как хеш-таблицы, за счет этого операции с ними менее эффективны. | |||
== Ссылки == | == Ссылки == | ||
*[[Особенности языка: базовый уровень]] | *[[Особенности языка: базовый уровень]] | ||
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка] | *[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка] |
Текущая версия от 14:07, 3 августа 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.
Множества внутри устроены не как битовые векторы, а как хеш-таблицы, за счет этого операции с ними менее эффективны.