golang顺时针打印矩阵的方法示例
题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4X4矩阵:12345678910111213141516则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
packagemain
import"fmt"
funcmain(){
//s:=[][]int{{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}
//s:=[][]int{{1},{2},{3},{4}}
//s:=[][]int{{1,2,3,4},{5,6,7,8}}
s:=[][]int{{1,2},{5,6},{9,10},{13,14}}
printMatrix(s)
}
funcprintMatrix(s[][]int){
ifs==nil{
fmt.Println("切片为空,无法打印")
}
bex,bey:=0,0
hang:=len(s)-1
lie:=len(s[0])-1
ifhang==0{
for_,v:=ranges[0]{
fmt.Println(v)
}
return
}
iflie==0{
for_,v:=ranges{
fmt.Println(v[0])
}
return
}
forbex<=hang&&bey<=lie{
ax,ay:=bex,bey
foraybey{
fmt.Println(s[ax][ay])
ay--
}
forax>bex{
fmt.Println(s[ax][ay])
ax--
}
bex++
bey++
hang--
lie--
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。