关于C++ 的 sort 对二维数组排序。
有一个二维数组。假设是 N * N;
需要对某个位置的X(横向排序)。或者某个位置的Y(纵向排序)。
例如:
4 6 5
1 3 2
8 7 9
对 2 行 横进行排序:
为 1 2 3;
结果为:
4 6 5
1 2 3
8 7 9
对 2 列 纵进行排序:
为 3 6 7;
结果为
4 3 5
1 6 2
6 7 9
这该怎么使用C++ 的STL 中的sort 函数?
C++
二维数组
STL
sort
分享到:
------解决方案--------------------
横的直接排就行了,纵的话需要写一个特殊的迭代器,然后再排就可以了。
------解决方案--------------------
#include
#include
using namespace std;
void SortY(int a[3][3],int j);
void SortX(int a[3][3],int i);
int main()
{
int A[3][3];
int x,y;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cin>>A[i][j];
}
}
cout<
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if((j+1)%3 == 0)
{
cout<
cout<
}
else
{
cout<