Множества произвольного типа: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) (Новая: == Ссылки == Особенности языка: базовый уровень) |
Mikst (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
Базовый тип для множества может быть произвольным. | |||
<source lang="Delphi">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 -= ['Иванов']; | |||
writeln('Множество s1: ',s1); | |||
write('Множество s2: '); | |||
foreach str: string in s2 do | |||
write(str,' '); | |||
end. </source> | |||
Строки внутри устроены не как битовые векторы, а как хеш-таблицы, за счет этого операции с ними менее эффективны. | |||
== Ссылки == | == Ссылки == | ||
[[Особенности языка: базовый уровень]] | [[Особенности языка: базовый уровень]] |
Версия от 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 -= ['Иванов'];
writeln('Множество s1: ',s1);
write('Множество s2: ');
foreach str: string in s2 do
write(str,' ');
end.
Строки внутри устроены не как битовые векторы, а как хеш-таблицы, за счет этого операции с ними менее эффективны.