【发布时间】:2016-07-07 11:25:06
【问题描述】:
是否可以在 C++ 中使用 STL sort 对矩阵的行进行排序?
就像我们将一维数组从索引x 排序到y 一样:
int a[100];
sort(a+x, a+y+1);
如果我想这样将i-th 行从x 排序到y,我该如何为int a[100][100] 调用sort?
【问题讨论】:
是否可以在 C++ 中使用 STL sort 对矩阵的行进行排序?
就像我们将一维数组从索引x 排序到y 一样:
int a[100];
sort(a+x, a+y+1);
如果我想这样将i-th 行从x 排序到y,我该如何为int a[100][100] 调用sort?
【问题讨论】:
你可以这样做:
std::sort(a[i] + x, a[i] + y + 1);
+ 1 是必需的,因为结束迭代器必须指向行向量的最后一个元素之后的 1 个元素。
如果要对整行进行排序,可以更优雅的像
std::sort(std::begin(a[i]), std::end(a[i]));
【讨论】: