List
本文档由
src/stdlib/list.mcrs自动生成,请勿手动编辑。
API 列表
- sort2_min
- sort2_max
- list_min3
- list_max3
- list_min5
- list_max5
- list_sum5
- list_sum4
- list_sum3
- avg3
- avg5
- sort3
- weighted2
- weighted3
- sort4
- sort5
- list_sort_asc
- list_sort_desc
- list_sum
- list_avg
- list_min
- list_max
- list_contains
- list_index_of
- list_shuffle
- list_dedup_count
sort2_min v1.0.0
返回两个整数中较小的一个。
fn sort2_min(a: int, b: int): int参数
| 参数 | 说明 |
|---|---|
a | 第一个值 |
b | 第二个值 |
返回: a ≤ b 则返回 a,否则返回 b
sort2_max v1.0.0
返回两个整数中较大的一个。
fn sort2_max(a: int, b: int): int参数
| 参数 | 说明 |
|---|---|
a | 第一个值 |
b | 第二个值 |
返回: a ≥ b 则返回 a,否则返回 b
list_min3 v1.0.0
三个整数中的最小值。
fn list_min3(a: int, b: int, c: int): int参数
| 参数 | 说明 |
|---|---|
a | 值 1 |
b | 值 2 |
c | 值 3 |
返回: a、b、c 中的最小值
list_max3 v1.0.0
三个整数中的最大值。
fn list_max3(a: int, b: int, c: int): int参数
| 参数 | 说明 |
|---|---|
a | 值 1 |
b | 值 2 |
c | 值 3 |
返回: a、b、c 中的最大值
list_min5 v1.0.0
五个整数中的最小值。
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
五个整数中的最大值。
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
五个整数之和。
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
四个整数之和。
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
三个整数之和。
fn list_sum3(a: int, b: int, c: int): int参数
| 参数 | 说明 |
|---|---|
a | 值 1 |
b | 值 2 |
c | 值 3 |
返回: a + b + c
avg3 v1.0.0
三个值的整数均值(向零截断)。
fn avg3(a: int, b: int, c: int): int参数
| 参数 | 说明 |
|---|---|
a | 值 1 |
b | 值 2 |
c | 值 3 |
返回: (a + b + c) / 3
avg5 v1.0.0
五个值的整数均值(向零截断)。
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 = 最大)。
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)间做加权随机选择。
fn weighted2(seed: int, w0: int, w1: int): int参数
| 参数 | 说明 |
|---|---|
seed | LCG 种子(任意整数) |
w0 | 选项 0 的权重 |
w1 | 选项 1 的权重 |
返回: 以概率 w0/(w0+w1) 返回 0,否则返回 1
weighted3 v1.0.0
利用 LCG 种子在三个选项(0、1 或 2)间做加权随机选择。
fn weighted3(seed: int, w0: int, w1: int, w2: int): int参数
| 参数 | 说明 |
|---|---|
seed | LCG 种子 |
w0 | 选项 0 的权重 |
w1 | 选项 1 的权重 |
w2 | 选项 2 的权重 |
返回: 按权重比例返回 0、1 或 2
sort4 v1.0.0
使用 5 次比较的最优排序网络对四个值排序,返回指定位置的值。
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 奇偶归并排序网络对五个值排序,返回指定位置的值。
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(数组引用传参)。
fn list_sort_asc(arr: int[], len: int)参数
| 参数 | 说明 |
|---|---|
arr | 待排序数组(原地修改) |
len | 要排序的元素数量 |
返回: 无返回值
list_sort_desc v1.0.0
原地降序冒泡排序(任意长度)。需要 RedScript ≥ 2.4.0。
fn list_sort_desc(arr: int[], len: int)参数
| 参数 | 说明 |
|---|---|
arr | 待排序数组(原地修改) |
len | 要排序的元素数量 |
返回: 无返回值
list_sum v1.0.0
数组所有元素之和。
fn list_sum(arr: int[], len: int): int参数
| 参数 | 说明 |
|---|---|
arr | 输入数组 |
len | 元素数量 |
返回: arr[0..len) 的总和
list_avg v1.0.0
数组算术均值,返回定点数 ×10000。
fn list_avg(arr: int[], len: int): int参数
| 参数 | 说明 |
|---|---|
arr | 输入数组 |
len | 元素数量(须 > 0) |
返回: (sum ×10000) / len;空数组返回 0
list_min v1.0.0
数组中的最小元素(数组至少有一个元素)。
fn list_min(arr: int[], len: int): int参数
| 参数 | 说明 |
|---|---|
arr | 输入数组 |
len | 元素数量 |
返回: arr[0..len) 中的最小值
list_max v1.0.0
数组中的最大元素(数组至少有一个元素)。
fn list_max(arr: int[], len: int): int参数
| 参数 | 说明 |
|---|---|
arr | 输入数组 |
len | 元素数量 |
返回: arr[0..len) 中的最大值
list_contains v1.0.0
检查数组中是否存在某个值。
fn list_contains(arr: int[], len: int, val: int): int参数
| 参数 | 说明 |
|---|---|
arr | 输入数组 |
len | 元素数量 |
val | 要搜索的值 |
返回: 找到返回 1,否则返回 0
list_index_of v1.0.0
查找值在数组中第一次出现的索引。
fn list_index_of(arr: int[], len: int, val: int): int参数
| 参数 | 说明 |
|---|---|
arr | 输入数组 |
len | 元素数量 |
val | 要搜索的值 |
返回: 第一个索引,未找到返回 -1
list_shuffle v1.0.0
Fisher-Yates 原地随机打乱,使用线性同余生成器。
fn list_shuffle(arr: int[], len: int, seed: int): int[]参数
| 参数 | 说明 |
|---|---|
arr | 待打乱数组(原地修改) |
len | 元素数量 |
seed | 初始 LCG 种子(任意整数) |
返回: 打乱后的数组(与 arr 相同引用)
list_dedup_count v1.0.0
统计数组中唯一值的数量(O(n²),适合小数组)。
fn list_dedup_count(arr: int[], len: int): int参数
| 参数 | 说明 |
|---|---|
arr | 输入数组 |
len | 元素数量 |
返回: arr[0..len) 中不同值的个数