Множество (тип данных)
Множество — тип и структура данных в информатике, является реализацией математического объекта множество.
Данные типа множество позволяют хранить ограниченное число значений определённого типа без определённого порядка. Повторение значений, как правило, недопустимо. За исключением того, что множество в программировании конечно, оно в общем соответствует концепции математического множества. Для этого типа в языках программирования обычно предусмотрены стандартные операции над множествами.
В зависимости от идеологии, разные языки программирования рассматривают множество как простой или сложный тип данных.
Реализации
Множество в Паскале
В языке Паскаль множество — составной тип данных, хранящий информацию о присутствии в множестве объектов любого счетного типа. Мощность этого типа определяет размер множества — 1 бит на элемент. В Turbo Pascal есть ограничение на 256 элементов, в некоторых других реализациях это ограничение ослаблено.
Пример работы с множествами:
type
{определяем базовые для множеств перечислимый тип и тип-диапазон}
colors = (red,green,blue);
smallnumbers = 0..10;
{определяем множества из наших типов}
colorset = set of colors;
numberset = set of smallnumbers;
{можно и не задавать тип отдельно}
anothernumberset = set of 0..20;
{объявляем переменные типа множеств}
var nset1,nset2,nset3:smallnumbers;
cset:colorset;
begin
nset1 := [0,2,4,6,8,10]; {задаем в виде конструктора множества}
cset := [reb,blue]; {простым перечислением элементов}
nset2 := [1,3,9,7,5]; {порядок перечисления неважен}
nset3 := []; {пустое множество}
nset1 := [0..5]; {возможно задавать элементы диапазоном}
nset3 := nset1 + nset2; {объединение}
nset3 := nset1 * nset2; {пересечение}
nset3 := nset1 - nset2; {разность}
if (5 in nset2) or {проверка на вхождение элемента}
(green in cset) then
...
end;
SQL | Это незавершённая статья о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....