编程实现对二维数组进行转置,即:将二维数组a的行变成列,存到另一个数组b中
时间: 2024-10-15 18:08:01 浏览: 27
在编程中,尤其是使用像Python、Java或C++这样的语言时,二维数组的转置是一个常见的操作。这里我会给出一个简单的示例:
**Python 示例**:
```python
def transpose(arr):
# 获取原数组的行数和列数
rows = len(arr)
cols = len(arr[0])
# 创建一个新的二维数组b用于存储转置结果
b = [[0] * rows for _ in range(cols)]
# 遍历原数组,将元素放入新数组对应的位置
for i in range(rows):
for j in range(cols):
b[j][i] = arr[i][j]
return b
# 假设有如下二维数组a:
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
transposed_a = transpose(a)
```
**Java 示例**:
```java
public int[][] transpose(int[][] matrix) {
if (matrix == null || matrix.length == 0) {
return new int[0][0];
}
int rows = matrix.length;
int cols = matrix[0].length;
int[] transposedArray = new int[cols][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
transposedArray[j][i] = matrix[i][j];
}
}
return transposedArray;
}
// 使用示例
int[][] a = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[][] transposedA = transpose(a);
```
在这个例子中,我们创建了一个新的二维数组`b`,然后通过两个嵌套循环,遍历原数组的每一个元素,并将其放置到新数组对应位置。完成转置后返回新的二维数组。
阅读全文