将矩阵(2d-std::vector)旋转90°是一个常见的编程问题,可以通过以下方式实现:
以下是一个示例的C++代码实现:
#include <iostream>
#include <vector>
// 定义一个函数来旋转矩阵
std::vector<std::vector<int>> rotateMatrix(std::vector<std::vector<int>>& matrix) {
int n = matrix.size(); // 获取矩阵的大小
// 创建一个新的矩阵
std::vector<std::vector<int>> rotatedMatrix(n, std::vector<int>(n, 0));
// 进行矩阵旋转
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
rotatedMatrix[j][n - i - 1] = matrix[i][j];
}
}
return rotatedMatrix;
}
int main() {
// 创建一个示例矩阵
std::vector<std::vector<int>> matrix = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
// 调用旋转矩阵函数
std::vector<std::vector<int>> rotatedMatrix = rotateMatrix(matrix);
// 输出旋转后的矩阵
for (int i = 0; i < rotatedMatrix.size(); i++) {
for (int j = 0; j < rotatedMatrix[i].size(); j++) {
std::cout << rotatedMatrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
运行上述代码,将会输出旋转后的矩阵:
7 4 1
8 5 2
9 6 3
这是一个基本的矩阵旋转问题的解决方案。对于更复杂的情况,比如在原地旋转矩阵或者使用不同的编程语言,可以进行进一步的研究和实现。
腾讯云相关产品和产品介绍链接地址:暂无推荐链接。
领取专属 10元无门槛券
手把手带您无忧上云