数组转置是将数组的行和列进行互换。以下是一些常见编程语言中实现数组转置的方法:
Java:
```java
public class Demo {
public static void main(String[] args) {
int[][] arr = { {1, 2, 3}, {4, 5, 6} };
int[][] transposed = new int;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
transposed[j][i] = arr[i][j];
}
}
// 打印转置后的数组
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(transposed[i][j] + " ");
}
System.out.println();
}
}
}
```
C语言:
```c
include include int main() { int a = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; int transpose_rows = 4; int transpose_cols = 3; int transpose_arr = (int )malloc(transpose_rows * sizeof(int *)); for (int i = 0; i < transpose_rows; i++) { transpose_arr[i] = (int *)malloc(transpose_cols * sizeof(int)); } for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { transpose_arr[j][i] = a[i][j]; } } // 打印转置后的数组 for (int i = 0; i < transpose_rows; i++) { for (int j = 0; j < transpose_cols; j++) { printf("%d ", transpose_arr[i][j]); } printf("\n"); } // 释放内存 for (int i = 0; i < transpose_rows; i++) { free(transpose_arr[i]); } free(transpose_arr); return 0; } ``` Python ```python arr = [[1, 2, 3], [4, 5, 6]] transposed = [[arr[j][i] for j in range(len(arr))] for i in range(len(arr))] 打印转置后的数组 for row in transposed: print(row) ``` JavaScript: ```javascript let arr = [[1, 2, 3], [4, 5, 6]]; let transposed = arr.map((_, colIndex) => arr.map(row => row[colIndex])); // 打印转置后的数组 console.log(transposed); ``` PHP: ```php $arr = array(array(1, 2, 3), array(4, 5, 6)); $transpose_arr = array(); $rows = count($arr); $cols = count($arr); for ($j = 0; $j < $cols; $j++) { $temp = array(); for ($i = 0; $i < $rows; $i++) { $temp[] = $arr[$i][$j]; } $transpose_arr[] = $temp; } // 打印转置后的数组 foreach ($transpose_arr as $row) { print_r($row); } ``` 这些示例展示了如何在不同的编程语言中实现数组转置。你可以根据自己使用的编程语言选择相应的实现方法。