跳转至

std.set

tier: alloc

Set[V] 种子(List 成员;函数式:add 返回新集合) V 需可 ==(add 去重 bound Eq);add 体内嵌套调用 memV

pub fn

Signature Returns Description
set_new[V]() Set[V] 空集合(单空 List 槽)
mem[V](s: Set[V], v: V) Bool 成员判定(线性扫描;O(n))
add[V](s: Set[V], v: V) Set[V] 函数式添加:已存在原样返回;否则返回含 v 的新集合(原 s 不变)
len[V](s: Set[V]) I32 元素数
tolist[V](s: Set[V]) List[V] 集合 → List(插入序);List → 集合(依序 add 去重)
fromlist[V](xs: List[V]) Set[V] List → 集合(依序 add 去重;首现位次即插入序)
set_del[T](s: Set[T], v: T) Set[T] 删除元素:不存在时原样返回
set_union[T](a: Set[T], b: Set[T]) Set[T] 并集:a ∪ b
set_inter[T](a: Set[T], b: Set[T]) Set[T] 交集:a ∩ b(结果保持 a 的元素序)
set_diff[T](a: Set[T], b: Set[T]) Set[T] 差集:a − b(结果保持 a 的元素序)
set_subset[T](a: Set[T], b: Set[T]) Bool 子集判定:a ⊆ b