n*n数组,顺时针遍历赋值
//n*n数组,顺时针遍历赋值
private static void rotating(long[] f, long[][] m) {
// TODO Auto-generated method stub
int n = m.length;
int order = 0;
for(int i=0;i<=n/2;i++){ // i从 0 到 n/2
for(int j = i;j<n-i;j++){
m[i][j] = f[order++]; //上方行方向
}
for(int j = i+1;j<n-i;j++){
m[j][n-i-1] = f[order++]; //右侧列方向
}
for(int j = n-i-2;j>=i;j--){
m[n-i-1][j] = f[order++-]; //下方行方向
}
for(int j = n-i-2;j>i;j--){
m[j][i] = f[order++]; //左侧列方向
}
// i是循环的层数,也就是由外向内的圈数
// 哪个方向动,j就指向哪个角标
}