Go語言方法練習--實現二維數組轉置

 轉置概念:矩陣的行列互換獲得的新矩陣稱爲轉置矩陣,而二維數組就是咱們一般說的矩陣。數組

需求:使用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)
}


image.png

相關文章
相關標籤/搜索