ordsets
ordsets
模块
ordsets
模块摘要
函数,用于将集合操作为有序列表。
描述
集合是没有重复元素的元素的集合。An ordset
是集合的表示,其中有序列表用于存储集合的元素。有序列表比无序列表更有效。元素根据Erlang术语顺序排序
。
该模块提供与模块相同的界面,sets(3)
但具有定义的表示。一个不同之处在于,sets
如果两个元素不匹配(如果它们不匹配(=:=
),则认为这两个元素是不同的,当且仅当它们不比较equal(==
)时,该模块将两个元素视为不同。
数据类型
ordset(T) = [T]
由new/0
返回
输出
add_element(Element, Ordset1) -> Ordset2
类型
返回从形成一个新的有序集合Ordset1
与Element
插入。
del_element(Element, Ordset1) -> Ordset2
类型
返回Ordset1
,但Element
已删除。
filter(Pred, Ordset1) -> Ordset2
类型
使用布尔函数Pred来过滤Ordset1中的元素。
fold(Function, Acc0, Ordset) -> Acc1
类型
折叠功能覆盖Ordset中的每个元素并返回累加器的最终值。
from_list(List) -> Ordset
类型
返回一组有序的元素List
。
intersection(OrdsetList) -> Ordset
类型
返回集合的非空列表的交集。
intersection(Ordset1, Ordset2) -> Ordset3
类型
返回的交集Ordset1
和Ordset2
。
is_disjoint(Ordset1, Ordset2) -> boolean()
类型
如果Ordset1和Ordset2不相交(没有共同的元素),则返回true,否则返回false。
is_element(Element, Ordset) -> boolean()
类型
如果Element是Ordset的元素,则返回true,否则返回false。
is_set(Ordset) -> boolean()
类型
如果Ordset是一组有序的元素,则返回true,否则返回false。
is_subset(Ordset1, Ordset2) -> boolean()
类型
当Ordset1的每个元素也是Ordset2的成员时返回true,否则返回false。
new() -> []
返回一个新的空有序集。
size(Ordset) -> integer() >= 0
类型
返回Ordset
中的元素数量
subtract(Ordset1, Ordset2) -> Ordset3
类型
仅返回Ordset1
那些不是元素Ordset2
的元素。
to_list(Ordset) -> List
类型
返回Ordset
作为一份清单。
union(OrdsetList) -> Ordset
类型
返回集合列表的合并(联合)集合。
union(Ordset1, Ordset2) -> Ordset3
类型
返回的合并(联合)组Ordset1
和Ordset2
。
另见
gb_sets(3)
,sets(3)