1.6 将一个NxN矩阵向右旋转90度

思路:将一个正方形矩阵看做一层层的,每一层进行旋转。其实这题的解法和“数组循环右移K位”的杂技解法有些类似,只是这题复杂在每一层的下标的确定,而右移字符串则是复杂在循环链的计算和确定。

void rotate(){
        int i,j,k;
        int count=0;
        for (i=0;i<(int)(N/2);i++){
            for (j=i;j<N-i-1;j++){
                int temp = x[i][j];
                x[i][j] = x[N-1-j][i];
                x[N-1-j][i] = x[N-1-i][N-1-j];
                x[N-1-i][N-1-j] = x[j][N-1-i];
                x[j][N-1-i] = temp;
            }                
        }
}

 

posted on 2013-01-07 20:38  小龙人2012  阅读(228)  评论(0编辑  收藏  举报

导航