c++用一个函数将一个二维数组旋转90度
时间: 2023-04-23 11:06:13 浏览: 642
C++中求旋转数组中的最小数字(经典面试题)
可以使用以下函数将一个二维数组旋转90度:
```c++
void rotateArray(int arr[][N], int n) {
// 先进行转置操作
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
int temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
// 再进行列交换操作
for (int i = 0; i < n; i++) {
for (int j = 0; j < n / 2; j++) {
int temp = arr[i][j];
arr[i][j] = arr[i][n - j - 1];
arr[i][n - j - 1] = temp;
}
}
}
```
其中,`arr`表示要旋转的二维数组,`n`表示数组的大小(假设为`N*N`)。首先进行转置操作,即将数组中的行和列互换,然后再进行列交换操作,即将每一列的元素按照中心轴进行交换。最终得到的数组就是旋转后的结果。
阅读全文