Skip to content

List

本文档由 src/stdlib/list.mcrs 自动生成,请勿手动编辑。

API 列表


sort2_min v1.0.0

返回两个整数中较小的一个。

redscript
fn sort2_min(a: int, b: int): int

参数

参数说明
a第一个值
b第二个值

返回: a ≤ b 则返回 a,否则返回 b


sort2_max v1.0.0

返回两个整数中较大的一个。

redscript
fn sort2_max(a: int, b: int): int

参数

参数说明
a第一个值
b第二个值

返回: a ≥ b 则返回 a,否则返回 b


list_min3 v1.0.0

三个整数中的最小值。

redscript
fn list_min3(a: int, b: int, c: int): int

参数

参数说明
a值 1
b值 2
c值 3

返回: a、b、c 中的最小值


list_max3 v1.0.0

三个整数中的最大值。

redscript
fn list_max3(a: int, b: int, c: int): int

参数

参数说明
a值 1
b值 2
c值 3

返回: a、b、c 中的最大值


list_min5 v1.0.0

五个整数中的最小值。

redscript
fn list_min5(a: int, b: int, c: int, d: int, e: int): int

参数

参数说明
a值 1
b值 2
c值 3
d值 4
e值 5

返回: 五个输入中的最小值


list_max5 v1.0.0

五个整数中的最大值。

redscript
fn list_max5(a: int, b: int, c: int, d: int, e: int): int

参数

参数说明
a值 1
b值 2
c值 3
d值 4
e值 5

返回: 五个输入中的最大值


list_sum5 v1.0.0

五个整数之和。

redscript
fn list_sum5(a: int, b: int, c: int, d: int, e: int): int

参数

参数说明
a值 1
b值 2
c值 3
d值 4
e值 5

返回: a + b + c + d + e


list_sum4 v1.0.0

四个整数之和。

redscript
fn list_sum4(a: int, b: int, c: int, d: int): int

参数

参数说明
a值 1
b值 2
c值 3
d值 4

返回: a + b + c + d


list_sum3 v1.0.0

三个整数之和。

redscript
fn list_sum3(a: int, b: int, c: int): int

参数

参数说明
a值 1
b值 2
c值 3

返回: a + b + c


avg3 v1.0.0

三个值的整数均值(向零截断)。

redscript
fn avg3(a: int, b: int, c: int): int

参数

参数说明
a值 1
b值 2
c值 3

返回: (a + b + c) / 3


avg5 v1.0.0

五个值的整数均值(向零截断)。

redscript
fn avg5(a: int, b: int, c: int, d: int, e: int): int

参数

参数说明
a值 1
b值 2
c值 3
d值 4
e值 5

返回: (a + b + c + d + e) / 5


sort3 v1.0.0

对三个值排序,返回指定位置的值(0 = 最小,1 = 中间,2 = 最大)。

redscript
fn sort3(a: int, b: int, c: int, pos: int): int

参数

参数说明
a值 1
b值 2
c值 3
pos排序后的位置(0、1 或 2)

返回: 指定排序位置的值


weighted2 v1.0.0

利用 LCG 种子在两个选项(0 或 1)间做加权随机选择。

redscript
fn weighted2(seed: int, w0: int, w1: int): int

参数

参数说明
seedLCG 种子(任意整数)
w0选项 0 的权重
w1选项 1 的权重

返回: 以概率 w0/(w0+w1) 返回 0,否则返回 1


weighted3 v1.0.0

利用 LCG 种子在三个选项(0、1 或 2)间做加权随机选择。

redscript
fn weighted3(seed: int, w0: int, w1: int, w2: int): int

参数

参数说明
seedLCG 种子
w0选项 0 的权重
w1选项 1 的权重
w2选项 2 的权重

返回: 按权重比例返回 0、1 或 2


sort4 v1.0.0

使用 5 次比较的最优排序网络对四个值排序,返回指定位置的值。

redscript
fn sort4(a: int, b: int, c: int, d: int, pos: int): int

参数

参数说明
a值 1
b值 2
c值 3
d值 4
pos排序后的位置(0 = 最小,3 = 最大)

返回: 指定排序位置的值


sort5 v1.0.0

使用 9 次比较的 Batcher 奇偶归并排序网络对五个值排序,返回指定位置的值。

redscript
fn sort5(a: int, b: int, c: int, d: int, e: int, pos: int): int

参数

参数说明
a值 1
b值 2
c值 3
d值 4
e值 5
pos排序后的位置(0 = 最小,4 = 最大)

返回: 指定排序位置的值


list_sort_asc v1.0.0

原地升序冒泡排序(任意长度)。需要 RedScript ≥ 2.4.0(数组引用传参)。

redscript
fn list_sort_asc(arr: int[], len: int)

参数

参数说明
arr待排序数组(原地修改)
len要排序的元素数量

返回: 无返回值


list_sort_desc v1.0.0

原地降序冒泡排序(任意长度)。需要 RedScript ≥ 2.4.0。

redscript
fn list_sort_desc(arr: int[], len: int)

参数

参数说明
arr待排序数组(原地修改)
len要排序的元素数量

返回: 无返回值


list_sum v1.0.0

数组所有元素之和。

redscript
fn list_sum(arr: int[], len: int): int

参数

参数说明
arr输入数组
len元素数量

返回: arr[0..len) 的总和


list_avg v1.0.0

数组算术均值,返回定点数 ×10000。

redscript
fn list_avg(arr: int[], len: int): int

参数

参数说明
arr输入数组
len元素数量(须 > 0)

返回: (sum ×10000) / len;空数组返回 0


list_min v1.0.0

数组中的最小元素(数组至少有一个元素)。

redscript
fn list_min(arr: int[], len: int): int

参数

参数说明
arr输入数组
len元素数量

返回: arr[0..len) 中的最小值


list_max v1.0.0

数组中的最大元素(数组至少有一个元素)。

redscript
fn list_max(arr: int[], len: int): int

参数

参数说明
arr输入数组
len元素数量

返回: arr[0..len) 中的最大值


list_contains v1.0.0

检查数组中是否存在某个值。

redscript
fn list_contains(arr: int[], len: int, val: int): int

参数

参数说明
arr输入数组
len元素数量
val要搜索的值

返回: 找到返回 1,否则返回 0


list_index_of v1.0.0

查找值在数组中第一次出现的索引。

redscript
fn list_index_of(arr: int[], len: int, val: int): int

参数

参数说明
arr输入数组
len元素数量
val要搜索的值

返回: 第一个索引,未找到返回 -1


list_shuffle v1.0.0

Fisher-Yates 原地随机打乱,使用线性同余生成器。

redscript
fn list_shuffle(arr: int[], len: int, seed: int): int[]

参数

参数说明
arr待打乱数组(原地修改)
len元素数量
seed初始 LCG 种子(任意整数)

返回: 打乱后的数组(与 arr 相同引用)


list_dedup_count v1.0.0

统计数组中唯一值的数量(O(n²),适合小数组)。

redscript
fn list_dedup_count(arr: int[], len: int): int

参数

参数说明
arr输入数组
len元素数量

返回: arr[0..len) 中不同值的个数


Released under the MIT License.