26. 杂项算法

ALGORITHM 模块公开了各种数组作算法的集合。

所有函数和交易品种都在 “algorithm” 模块中,使用 require 来访问它。

require daslib/algorithm

26.2. Array manipulation

unique(a: array<auto(TT)>)

unique returns auto

argument

argument type

a

array<auto(TT)>

返回已删除重复项的 a 的元素数组。

sort_unique(a: array<auto(TT)>)

sort_unique returns auto

argument

argument type

a

array<auto(TT)>

返回 的元素数组 a,已排序并删除了重复项。 a 的元素按升序排序。 生成的数组仅包含 unqiue 元素。

reverse(a: array<auto>)

reverse returns auto

argument

argument type

a

array<auto>

以相反的顺序返回 a 的元素数组。

combine(a: array<auto(TT)> const; b: array<auto(TT)> const)

combine returns auto

argument

argument type

a

array<auto(TT)> const

b

array<auto(TT)> const

返回 a 和 b 的元素的数组。

reverse(a: auto)

reverse returns auto

argument

argument type

a

auto

以相反的顺序返回 a 的元素数组。

combine(a: auto const; b: auto const)

combine returns auto

argument

argument type

a

auto const

b

auto const

返回 a 和 b 的元素的数组。

26.3. Uncategorized

erase_all(arr: auto; value: auto const)

erase_all returns auto

argument

argument type

arr

auto

value

auto const

从 arr 中擦除所有等于 value 的元素

topological_sort(nodes: array<auto(Node)> const)

topological_sort returns auto

argument

argument type

nodes

array<auto(Node)> const

拓扑结构是一种图。 每个节点都有一个 id 和 set(没有值的表)依赖项。 依赖项 before 表示来自节点的链接,该链接应出现在排序列表中的节点之前。 返回节点的排序列表。

intersection(a: table<auto(TT);void> const; b: table<auto(TT);void> const)

intersection returns table<TT;void>

argument

argument type

a

table<auto(TT);void> const

b

table<auto(TT);void> const

返回两个集的交集

union(a: table<auto(TT);void> const; b: table<auto(TT);void> const)

union returns table<TT;void>

argument

argument type

a

table<auto(TT);void> const

b

table<auto(TT);void> const

返回两个集合的并集

difference(a: table<auto(TT);void> const; b: table<auto(TT);void> const)

difference returns table<TT;void>

argument

argument type

a

table<auto(TT);void> const

b

table<auto(TT);void> const

返回两组的差值

identical(a: table<auto(TT);void> const; b: table<auto(TT);void> const)

identical returns bool

argument

argument type

a

table<auto(TT);void> const

b

table<auto(TT);void> const

如果两个集相同,则返回 true