📅  最后修改于: 2023-12-03 15:22:03.696000             🧑  作者: Mango
本程序利用Python语言,实现了对矩阵的以“zag-zag”方式进行打印。通过该程序,我们可以直观地了解到该算法的运行原理。
程序实现算法如下:
def print_matrix_matrix_zigzag(matrix):
if not matrix:
return
row,col=len(matrix),len(matrix[0])
a,b=0,0
c,d=0,0
end=row*col
res=[]
direction=-1
while(a<row and b<col and c<row and d<col):
res.append(matrix[a][b])
if res==end:
break
a+=direction
b-=direction
if(a>row-1):
a=row-1
b+=2
if(b>col-1):
b=col-1
a+=2
if(a<0):
a=0
if(b<0):
b=0
res.append(matrix[c][d])
if res==end:
break
c-=direction
d+=direction
if(c<0):
c=0
d+=2
if(d>col-1):
d=col-1
c+=2
if(c>row-1):
c=row-1
direction=-direction
return res
参数说明
运行说明
示例程序及输出如下:
matrix=[[1,2,3],[4,5,6],[7,8,9]]
print(print_matrix_matrix_zigzag(matrix))
运行结果为:
[1, 2, 4, 7, 5, 3, 6, 8, 9]
通过本程序的实现和示例,我们可以清楚地了解到该算法的实现原理及运作方式。