矩阵的转置c++

介绍

由下面的图片可以看出,从左上角到右上角的那条斜线是分界线(这条线上的数据不动,交换两边的数据。所过遍历的时候j<i。这点一定要注意。这里还保证了,遍历的时候只遍历的斜线的左下边,这是利用j<i保证的,所以这里j<i是非常重要的。
矩阵转置1.png

源码

void solve()
{       
    vector<vector<int>> v = {{1, 8, 9}, {12, 6, 2}, {19, 42, 3}};

    for (int i = 0; i < 3; i ++ )
    {
        for (int j = 0; j < i; j ++ )
        {
            swap(v[i][j], v[j][i]);
        }
    }
}
THE END