如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,今天就跟大家聊聊有关如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。两个fo
千家信息网最后更新 2025年02月03日如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印
今天就跟大家聊聊有关如何给定一个正方形或者长方形矩阵matrix以及实现zigzag打印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
两个for循环嵌套。
外层循环。先遍历第一列,再遍历不包含列号为0的最后一行。每循环一次,修改标志位。
内层循环。根据标志位判断,从左下到右上,还是从右上到左下。
代码用golang编写。代码如下:
package main
import "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 := 0
for ; 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 := 0
for ; 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安全错误
数据库的锁怎样保障安全
郑州法律法规数据库
网络技术是计算机几级
开展网络安全知识竞答的意义
数据库主从配置详解
莫理循老照片 数据库
报警管理服务器源码
大学生如何守住网络安全的红线
帆软js更新数据库
服务器cc攻击
昭通计算机网络技术报名
互联网之家计算机网络安全技术
想学计算机网络安全怎么学
怎样黑进骗子的服务器
数据库 标签表
数据库写入数据
为什么会出现车载网络技术
中山蓝信网络技术有限公司
维护网络安全不应有
一上线发布的数据库如何迁移
衡南追梦云网络技术有限公司
南昌软件开发学校
河北麦禄网络技术有限公司
戴尔服务器硬盘一条
软件开发 里程碑事件
文件服务器拷贝工具
新泰软件开发电话
易诚互动网络技术
云服务器搭建管理系统
第四届广东省网络安全周
合肥的银行招聘软件开发岗位