编程把数组转置怎么弄的

时间:2025-03-05 07:46:46 明星趣事

数组转置是将数组的行和列进行互换。以下是一些常见编程语言中实现数组转置的方法:

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);

}

```

这些示例展示了如何在不同的编程语言中实现数组转置。你可以根据自己使用的编程语言选择相应的实现方法。