c 二维数组矩阵转置
时间: 2024-10-09 18:11:12 浏览: 139
java实现二维数组转置的方法示例
5星 · 资源好评率100%
在编程中,二维数组(也称为矩阵)的转置通常是指将原矩阵的行变成列,或将列变成行的操作。这个过程可以手动完成,也可以通过编程语言提供的内置函数快速实现。
例如,在Python中,如果你有一个二维列表(list of lists)表示的矩阵`matrix`,转置操作可以用以下方式实现:
```python
def transpose(matrix):
return [row for row in zip(*matrix)]
```
在这个例子中,`zip(*matrix)`会解压矩阵的所有列成为一个元组列表,然后对每个元素列表进行按行打包(*操作),形成一个新的转置矩阵。
在C++中,你可以使用嵌套循环来创建转置矩阵:
```cpp
#include <vector>
std::vector<std::vector<int>> transpose(std::vector<std::vector<int>> matrix) {
int rows = matrix.size();
int cols = matrix[0].size();
std::vector<std::vector<int>> transposed(cols, std::vector<int>(rows));
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
transposed[j][i] = matrix[i][j];
}
}
return transposed;
}
```
阅读全文