您好,登錄后才能下訂單哦!
轉置概念:矩陣的行列互換得到的新矩陣稱為轉置矩陣,而二維數組就是我們通常說的矩陣。
需求:使用Go語言方法實現二維數組(3*3)的矩陣的轉置
轉置前:
[[ 0, 1, 2],
[ 4, 5, 6],
[ 8, 9, 10]]
轉置后
[[ 0, 4, 8],
[ 1, 5, 9],
[ 2, 6, 10]]
//使用交換值實現 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) }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。