矩阵的旋转

记住方法即可。(这里的矩阵都是方阵哈。)

矩阵的逆时针旋转90°:先把主对角线两边的元素互换,再把第i行和第n-i行互换。

矩阵的顺时针旋转90°:先把副对角线两边的元素互换,再把第i行和第n-i行互换。

比如,对于顺时针旋转90°的AC代码:

void clockwise(int a[][4],int n)
{
     for(int i=0; i<n; ++i)
        for(int j=0; j<n-i; ++j)
            swap(a[i][j], a[n-1-j][n-1-i]); //以副对角线的对称位置。画个方阵看看就知道了。

    for(int i=0; i<n/2; ++i)
        for(int j=0; j<n; ++j)
            swap(a[i][j], a[n-1-i][j]);
}

具体直观讲解见https://blog.csdn.net/qq_26525215/article/details/52076488

猜你喜欢

转载自blog.csdn.net/m0_38033475/article/details/92215673