排序多维向量

时间:2014-07-14 10:06:20

标签: c++ sorting vector

我有一个二维向量A

vector < vector <int> > A;

内部向量具有恒定长度3.我想根据内部向量中第二个元素的值对A进行排序。就像我们可以根据它的任何一列对数据库表进行排序。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

std::sort(std::begin(m), std::end(m),
          [](std::vector<int> const &lhs,
             std::vector<int> const &rhs) { return lhs[1] < rhs[1]; });

要小心,因为这不是一个稳定的排序,并且不会保留具有相同第二个元素的行的顺序。如果您需要,请使用std::stable_sort。用法完全相同。