标签:算法
#include <iostream>
#include <iomanip>
using namespace std;
void Grial(int (*a)[5],int n)
{
//数组顺时针旋转90度。
//边界值的考虑让我小小的思考了一下。
int temp;
int startX = 0;
int startY = 0;
int j = 0;
while (startX < n/2)
{
startX = j;
for (int i = j; i < n - j-1; i++)
{
startY = i;
//不开辟空间,仅仅交换数据就可以轻松的做到。
temp = a[startX][startY];
a[startX][startY] = a[n - startY - 1][startX];
a[n - startY - 1][startX] = a[n - startX - 1][n - startY - 1];
a[n - startX - 1][n - startY - 1] = a[startY][n - startX - 1];
a[startY][n - startX - 1] = temp;
}
j++;
}
}
int main()
{
int a[][5] = {
1,2,3,4,5,
6,7,8,9,10,
11,12,13,14,15,
16,17,18,19,20,
21,22,23,24,25
};
Grial(a,5);
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
cout << setw(4) << a[i][j];
}
cout << endl;
}
cout << endl;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:算法
原文地址:http://blog.csdn.net/liuhuiyan_2014/article/details/47840877