如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天就跟大家聊聊有关如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。两个fo
千家信息网最后更新 2026年11月02日如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印
今天就跟大家聊聊有关如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
两个for循环嵌套。
外层循环。先遍历第一列,再遍历不包含列号为0的最后一行。每循环一次,修改标志位。
内层循环。根据标志位判断,从左下到右上,还是从右上到左下。
代码用golang编写。代码如下:
package mainimport "fmt"func main() {arr := [][]int{{0, 1, 2},{3, 4, 5},{6, 7, 8}}printMatrixZigZag(arr)}func printMatrixZigZag(matrix [][]int) {row := len(matrix)col := len(matrix[0])fromUp := false//遍历第一列for i := 0; i < row; i++ {if fromUp {//找最右上的位置j := 0for ; i-j >= 0 && j < col; j++ {}j--//右上到左下for ; j >= 0; j-- {fmt.Print(matrix[i-j][0+j], " ")}} else {//左下到右上for j := 0; i-j >= 0 && j < col; j++ {fmt.Print(matrix[i-j][0+j], " ")}}fromUp = !fromUp}//遍历最后一行for j := 1; j < col; j++ {if fromUp {//找最右上的位置i := 0for ; row-1-i >= 0 && j+i < col; i++ {}i--//右上到左下for ; i >= 0; i-- {fmt.Print(matrix[row-1-i][j+i], " ")}} else {//左下到右上for i := 0; row-1-i >= 0 && j+i < col; i++ {fmt.Print(matrix[row-1-i][j+i], " ")}}fromUp = !fromUp}}
执行结果如下:
***
[左神java代码](https://github.com/algorithmzuo/algorithmbasic2020/blob/master/src/class40/Code07_ZigZagPrintMatrix.java)
[评论](https://user.qzone.qq.com/3182319461/blog/1617318990)
看完上述内容,你们对如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
循环
代码
内容
j++
正方
正方形
矩阵
长方形
一行
位置
标志
两个
内层
外层
更多
知识
篇文章
结果
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技
上海睿民互联网科技有限公司
河南云网互联网络科技有限公司
西安纸贵互联网科技有限公司
深圳恒合互联网络科技有限公司
互联网最新的科技
中国 科技 互联网
亿策互联网科技
凡科互联网科技
金融科技和互联网金融
盛创互联网科技有限公司
科技大学互联网专业好不好
天速互联网络科技有限公司
创业天下互联网科技有限公司
玉溪互联网科技怎么选
互联网科技数字货币
山东大美朱楼互联网科技有限公司
宁波跨境商互联网科技有限公司
艺电能源互联网科技有限公司招聘
互联网科技大佬云集
广州紫鲸互联网科技
互联网科技股午盘股票涨跌
佩信高科技互联网
卫星互联网科技股票
互联网科技教育视频
互联网科技革命什么开始
晓花互联网科技有限公司网址
电子科技大学互联网创业大赛
怎样加入科技互联网
唯美互联网科技