Maison >développement back-end >Golang >transposition du tableau Golang
Ces dernières années, Golang a continué à être recherché et respecté parmi les programmeurs, notamment en tant que l'un des principaux langages de développement commercial dans certaines grandes entreprises. En tant que structure de base des données, le tableau est un type souvent utilisé en programmation. Cet article présentera une méthode classique de transposition de tableau Golang.
La transposition de tableau consiste à échanger les lignes et les colonnes d'une matrice. Par exemple, la matrice Indique le type d'élément. Par exemple :
1 2 3 4 5 6 7 8 9
Implémentation de transposition de tableau Golang
1 4 7 2 5 8 3 6 9
Vous pouvez d'abord définir un tableau bidimensionnel pour représenter la matrice d'origine :
var array [n]Type
Ensuite, nous devons définir une fonction transpose code> pour implémenter la transposition matricielle . Cette fonction doit transmettre un tableau bidimensionnel <code>a
et ses numéros de ligne et de colonne m
et n
. L'implémentation de la fonction est la suivante : n
表示数组长度,Type
表示元素类型。例如:
var a [5]int // 定义一个长度为5的int数组 a[0] = 1 // 给第0个元素赋值为1
对于一个M*N的矩阵,我们可以用二维数组来表示。在Golang中,二维数组的定义如下:
var array [m][n]Type
可以先定义一个二维数组来表示原始矩阵:
var matrix = [3][3]int{ {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, }
接下来,我们需要定义一个函数transpose
来实现矩阵转置。该函数需要传入一个二维数组a
以及其行列数m
和n
。函数的实现如下:
func transpose(a [][]int, m, n int) [][]int { // 创建一个新的n*m的数组 b := make([][]int, n) for i := 0; i < n; i++ { b[i] = make([]int, m) } // 将a的行与b的列对应 for i := 0; i < n; i++ { for j := 0; j < m; j++ { b[i][j] = a[j][i] } } return b }
在函数中,我们先创建了一个n*m
的二维数组b
,并对其每个元素进行了初始化。接着,我们对原始矩阵a
进行遍历,并将a
的行与b
的列进行对应,将结果存入b
中。最后,函数返回了转置后的矩阵b
func main() { matrix := [3][3]int{ {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, } // 转置前 fmt.Println(matrix) // 转置后 transposedMatrix := transpose(matrix[:], 3, 3) fmt.Println(transposedMatrix) }Dans la fonction, nous créons d'abord un tableau bidimensionnel
b
de n*m
et initialisons chaque élément de celui-ci. Ensuite, nous parcourons la matrice d'origine a
, faisons correspondre les lignes de a
avec les colonnes de b
et stockons les résultats dans b
dans. Enfin, la fonction renvoie la matrice transposée b
. Dans la fonction principale, nous pouvons appeler cette fonction pour implémenter la transposition de tableau : [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]]Le résultat de sortie est le suivant :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!