Для представления конечных множеств могут быть использованы битовые строки, массивы, линейные списки или деревья.
При использовании битовых строк, каждое множество представляется последовательностью битов, длина которой равна числу элементов в универсальном множестве, то есть в множестве всех возможных элементов. Равенство единице j-го бита строки означает, что элемент с номером j входит в множество. Теоретико-множественные операции над множествами, представленными последовательностями битов, выполняются как побитовые булевы операции. Так, пересечению множеств соответствует конъюнкция, объединению – дизъюнкция, разности x-y, где x,y – множества, соответствует побитовая операция
.
Структура данных для множества, хранящегося в массиве, может быть следующей:
const int MAXSIZE=100;
struct SETINARRAY {