【发布时间】:2020-04-01 09:09:56
【问题描述】:
我有一个 3D 数组,其中保存了 3 列数字数据。 我想按升序对这个 Nx3 矩阵进行排序,按第一列,然后对于该列上的值相同的情况,我希望它们根据第二列进行排序。
例如: 如果第 1 列中有多个 min 元素,我想再按第二列对它们进行排序,再次按升序排列。 所以它看起来像这样:
[1, 2, 3]
[1, 3, 1]
[2, 4, 2]
[3, 5, 6]
等等
由于第1列有多个min元素“1”,所以对第1列的这些最小值,再按照第2列的值进行排序。
我知道这在 Python 的 Pandas 中是可能的,但是在 C++ 中有没有方便的方法来做到这一点?
【问题讨论】:
-
编写一个自定义比较器来满足您的需求。例如,请参阅this question。
-
这是关于二维数组(其中第一个维度恰好是大小 3)还是我遗漏了什么?
标签: c++ sorting matrix multidimensional-array