先改成对角线对换,然后再上下对换,如下所示
1,2, 3, 4
5, 6, 7, 8
9, 10,11,12
13,14,15,16
16,12, 8, 4
15,11, 7, 3
14,10, 6, 2
13, 9, 5, 1
13, 9, 5, 1
14,10, 6, 2
15,11, 7, 3
16,12, 8, 4
int n=a.size(); int num=n-1; for(int i=0;i<n-1;++i) { for(int j=0;j<=num;++j) { swap(a[i][j],a[n-j-1][n-i-1]); } num--; } for(int i=0;i<n/2;++i) swap(a[i],a[n-i-1]);
时间: 2024-10-07 12:21:21