Links

Множества

Здесь описаны операторы и функции для работы с массивом логических значений (тип set).

Операторы

Оператор
Результат
Описание
* set
int
Возвращает размер массива.
^ set
set
Возвращает новое множество, которое обратно указанному. !s[i] для каждого элемента.
set = set
set
Оператор присваивания.
set &= set
set
Создает клон множества. Новая переменная будет работать с тем же набором данных.
set += set
set
Добавить значение одного множества к другому.
set & set
set
Возвращает множество, которое является пересечением двух множеств. left[i] && right[i] для каждого элемента.
set | set
set
Возвращает множество, которое является объединением двух множеств. left[i] || right[i] для каждого элемента.
set [ int ]
bool
Установить/получить элемент множества.

Функции

arr(set s) arr.int

Функция arr конвертирует множество set в массив целых чисел, который содержит индексы элементов множества.

set(str s) set

Функция set конвертирует строку в множество set и возвращает его. Строка должна содержать только символы 1 и 0.

set(arr.int a) set

Функция set конвертирует массив целых чисел в множество set и возвращает его. Результирующее множество будет иметь элементы с соответствующими индексами.
run arr.int {
set s &= {780, 99, 128, 105, 136}
arr.int as = arr(s)
as += 330
s &= set(as)
return arr(s) // [99 105 128 136 330 780]
}

str(set s) str

Функция str конвертирует множество в строку и возвращает её. Результирующая строка содержит только символы 1 и 0.

Set(set s, int index) set

Функция Set добавляет элемент к множеству. Эквивалентно s[index] = true. Функция возвращает s.

Toggle(set s, int index) bool

Функция Toggle добавляет элемент множеству, если его не существует, в противном случае, элемент удаляется. Эквивалентно s[index] = !s[index]. Функция возвращает предыдущее состояние - true, если элемент существовал и false в противном случае.

UnSet(set s, int index) set

Функция UnSet удаляет элемент из множества. Эквивалентно s[index] = false. Функция возвращает s.