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

复数支持:

# 另请参阅

primes | permute