2026a
# perms
所有可能的排列
函数库: TyMath
# 语法
P = perms(v)
# 说明
P = perms(v) 返回的矩阵包含了向量 v 中元素按字典顺序反序的所有排列。P 的每一行包含 v 中 n 个元素的一个不同排列。矩阵 P 具有与 v 相同的数据类型,包含 n! 行和 n 列。示例
# 示例
双精度整数的所有排列
using TyMath
v = [2, 4, 6]
P = perms(v)
P = 6×3 Matrix{Int64}:
6 4 2
6 2 4
4 6 2
4 2 6
2 6 4
2 4 6
无符号整数的所有排列
using TyMath
v = UInt16.([1023, 4095, 65535])
P = Int.(perms(v))
P = 6×3 Matrix{Int64}:
65535 4095 1023
65535 1023 4095
4095 65535 1023
4095 1023 65535
1023 65535 4095
1023 4095 65535
复数的所有排列
using TyMath
v = [1+1im, 2+1im, 3+1im]
P = perms(v)
P = 6×3 Matrix{Complex{Int64}}:
3+1im 2+1im 1+1im
3+1im 1+1im 2+1im
2+1im 3+1im 1+1im
2+1im 1+1im 3+1im
1+1im 3+1im 2+1im
1+1im 2+1im 3+1im
# 输入参数
v - 项目集合数值、Bool、String 或 Char 值的向量
项目集合,指定为数值、Bool 、String 或 Char 值的向量。
示例: [1,2,3,4]
示例: [1+1im,2+1im,3+1im,4+1im]
示例: Int16.([1,2,3,4])
示例: [true,false,true,false]
示例: "syslab"
数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Float32 | Float64 | UInt8 | UInt16 | UInt32 | UInt64 | Bool
复数支持: 是