轉置概念:矩陣的行列互換獲得的新矩陣稱爲轉置矩陣,而二維數組就是咱們一般說的矩陣。數組
需求:使用Go語言方法實現二維數組(3*3)的矩陣的轉置bash
轉置前:ide
[[ 0, 1, 2],spa
[ 4, 5, 6],server
[ 8, 9, 10]] blog
轉置後 索引
[[ 0, 4, 8],it
[ 1, 5, 9],class
[ 2, 6, 10]]import
//使用交換值實現 func (array Num ) Upserver(Aaaay3 [3][3]int) { for i :=0; i<len(Aaaay3);i++{ for j:=0;j<i;j++{ Aaaay3[i][j],Aaaay3[j][i] = Aaaay3[j][i],Aaaay3[i][j] } } fmt.Println(Aaaay3) } //使用臨時變量 func (array Num ) Upserver2(Aaaay3 [3][3]int) { temparry :=[3][3]int{} for i :=0; i<len(Aaaay3);i++{ for j:=0;j<i;j++{ //限制j<i 避免屢次循環 temparry[i][j]=Aaaay3[i][j] Aaaay3[i][j] =Aaaay3[j][i] Aaaay3[j][i]=temparry[i][j] } } fmt.Println(Aaaay3) }
package main import "fmt" type Num struct { } func (array Num ) Upserver(Aaaay3 [3][3]int) { for i :=0; i<len(Aaaay3);i++{ for j:=0;j<i;j++{ Aaaay3[i][j],Aaaay3[j][i] = Aaaay3[j][i],Aaaay3[i][j] } } fmt.Println(Aaaay3) } func (array Num ) Upserver2(Aaaay3 [3][3]int) { temparry :=[3][3]int{} for i :=0; i<len(Aaaay3);i++{ for j:=0;j<i;j++{ temparry[i][j]=Aaaay3[i][j] Aaaay3[i][j] =Aaaay3[j][i] Aaaay3[j][i]=temparry[i][j] } } fmt.Println(Aaaay3) } func main() { arrinfo :=Num{ } aeey :=[3][3]int{ {0, 1, 2} , /* 第一行索引爲 0 */ {4, 5, 6} , /* 第二行索引爲 1 */ {8, 9, 10}} fmt.Println(aeey) fmt.Println("****") arrinfo.Upserver(aeey) arrinfo.Upserver2(aeey) }