用C++实现,给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像
时间: 2023-02-09 19:36:52 浏览: 296
你可以使用以下的步骤来实现原地旋转矩阵:
1. 先将矩阵沿着左上角到右下角的对角线进行翻转(交换对角线两侧的元素)。
2. 再将矩阵的每一行进行翻转(交换每行的首尾元素)。
下面是用 C 语言实现的代码示例:
```
void rotate(int** matrix, int matrixSize, int* matrixColSize) {
// 矩阵沿着左上角到右下角的对角线进行翻转
for (int i = 0; i < matrixSize; i++) {
for (int j = i; j < matrixSize; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
// 将矩阵的每一行进行翻转
for (int i = 0; i < matrixSize; i++) {
for (int j = 0; j < matrixSize / 2; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[i][matrixSize - j - 1];
matrix[i][matrixSize - j - 1] = temp;
}
}
}
```
希望这个答案能帮到你!
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![text/x-c++; charset=utf-8](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![text/plain; charset=iso-8859-1](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)