📅  最后修改于: 2023-12-03 15:10:25.392000             🧑  作者: Mango
本文介绍如何编写一个 Javascript 程序,用于旋转矩阵元素。这个程序可以将一个矩阵沿着某个方向旋转90度。例如下面这个矩阵:
1 2 3
4 5 6
7 8 9
经过旋转后会变成下面这个矩阵:
7 4 1
8 5 2
9 6 3
我们可以将矩阵看成一个二维数组。假设矩阵的行数为 rows
,列数为 cols
,我们可以用下面的代码创建一个二维数组:
let matrix = new Array(rows);
for(let i = 0; i < rows; i++) {
matrix[i] = new Array(cols);
}
为了简化程序,我们假设需要将矩阵沿着“向右下方”旋转。那么我们可以先将矩阵沿着行的中心线交换元素,然后再沿着从左上角到右下角的对角线交换元素。下面是完整的 Javascript 程序:
function rotateMatrix(matrix) {
let rows = matrix.length;
let cols = matrix[0].length;
// 将矩阵沿着行的中心线交换元素
for(let i = 0; i < rows / 2; i++) {
for(let j = 0; j < cols; j++) {
let temp = matrix[i][j];
matrix[i][j] = matrix[rows - i - 1][j];
matrix[rows - i - 1][j] = temp;
}
}
// 将矩阵沿着对角线交换元素
for(let i = 0; i < rows; i++) {
for(let j = 0; j < i; j++) {
let temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
return matrix;
}
下面是一个使用示例:
let matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
let rotatedMatrix = rotateMatrix(matrix);
console.log(rotatedMatrix);
// 输出:[[7, 4, 1], [8, 5, 2], [9, 6, 3]]
本文介绍了如何编写一个 Javascript 程序,用于旋转矩阵元素。这个程序可以将一个矩阵沿着某个方向旋转90度。我们可以用一个二维数组来表示矩阵,然后分别沿着行的中心线和对角线交换元素来实现旋转。