是否可以在c ++中使用STL sort
对矩阵行进行排序?
就像我们将索引x
到y
的一维数组排序为:
int a[100];
sort(a+x, a+y+1);
如果我想要从sort
到int a[100][100]
排序i-th
行,如何为x
调用y
?
答案 0 :(得分:3)
你可以这样做:
std::sort(a[i] + x, a[i] + y + 1);
+ 1
是必需的,因为结束迭代器必须在行向量的最后一个元素之后指向1个元素。
如果要对整行进行排序,可以像
那样更优雅地进行排序std::sort(std::begin(a[i]), std::end(a[i]));