Множества произвольного типа: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Строка 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.

Множества внутри устроены не как битовые векторы, а как хеш-таблицы, за счет этого операции с ними менее эффективны.

Ссылки