我有以下问题: 我有一个整数三元组数组N
(即一个N
x3
矩阵),我想在 Matlab 中按字典顺序对其进行排序。为了做到这一点,我想到了使用Matlab的内置sort
算法,但我想问一下我想到的方法是否正确,或者是否存在更简单的方法(最好使用Matlab例程)。
我想把每个三元组转换成一个数字,然后用sort()
. 如果我的整数在 0 到 9 之间,我可以将它们转换为十进制。但是,它们更大。如果它们的最大绝对值是M
,我想像这样将它们转换成 ( M
+1)-ary 系统:如果 ( a
, b
, c
) 三元组,对应的整数是a*(M+1)^2+b*(M+1)+c
。对这些转换后的整数进行排序会解决问题,还是我在推理中犯了逻辑错误?
谢谢!
PS:我知道sort()
在 Matlab 中确实有字符串的字典选项,但我的整数没有相同的数字长度。也许用前导零填充它们并将它们连接起来就可以了?