Matlab中整数三元组的字典排序

时间:2015-01-15 09:26:36

标签: matlab sorting lexicographic

我有以下问题:我有一个N整数三元组数组(即一个N x 3矩阵),我想在Matlab中按字典顺序排序。为了做到这一点,我想到了使用Matlab的内置sort算法,但是我想问一下我想做的方式是否正确或者是否存在更简单的方法(最好使用Matlab例程)

我想过将每个三元组转换为单个数字,然后用sort()对这些数字进行排序。如果我的整数在0和9之间,我可以将它们转换为十进制。但是,它们更大。如果他们的最大绝对值为M,我会考虑将它们转换为(M + 1)-ary系统,如下所示:if {ab,{{ 1}})三元组,对应的整数是c。排序这些转换后的整数会解决问题,还是我在推理中犯了一个逻辑错误?

谢谢!

PS:我知道Matlab中的a*(M+1)^2+b*(M+1)+c确实有字符串的词典选项,但我的整数没有相同的数字长度。也许用前导零填充它们并连接它们就可以了?

1 个答案:

答案 0 :(得分:2)

您是否考虑过使用sortrows? 应该允许您按字典顺序直接对3列数据进行排序。