一起talk C栗子吧(第三十六回:C语言实例--螺旋矩阵)

各位看官们,大家好,上一回中咱们说的是测试程序运行时间的例子,这一回咱们说的例子是:螺旋矩阵。

闲话休提,言归正转。让我们一起talk C栗子吧!

看官们,我们先说说什么是螺旋矩阵:数字沿着顺时针方向从小到大排列,直到填満整个矩阵为止。如果

大家还觉得比较抽象的话,可以看下面的图(数字沿着顺时针方向逐渐增大)。

 1  2  3  4  5
16 17 18 19  6
15 24 25 20  7
14 23 22 21  8
13 12 11 10  9 

螺旋矩阵的实现原理如下

  1. 让数字沿着一个方向走,而且每走一步数字的值增加1;
  2. 当数字在一个方向上走到头时,就按照顺时针的方向换一个方向继续走;
  3. 重复步骤1和2,直到矩阵中没有空闲空间为止。

看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击这里下载使用。在例子中我

们使用来当作矩阵,遍历矩阵可以看作是遍历数组。

各位看官,关于螺旋矩阵的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 09:18:26

一起talk C栗子吧(第三十六回:C语言实例--螺旋矩阵)的相关文章

一起talk C栗子吧(第十六回:C语言实例--栈一)

各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例.闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们,上一回中咱们说的是双向链表的例子,这一回咱们说的例子是:栈. 什么是栈?我们听过龙门客栈,你这个是哪家客栈?我还没有说,台下已经有客官在问了.看官们,栈是 类似我们在前面几回中说过的链表,它也是用来存放数据的一种抽象的数据结构.因为比较抽象,咱们还 是举个现实生活中的例子来说明吧. 我们出去旅游时通常会拿一个行李箱存放自己的物品,比如衣服,鞋子电脑,

一起talk C栗子吧(第十二回:C语言实例--单链表一)

各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例.闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们,上一回中咱们没有说具体的例子,而且是说了例子中的文件组织结构.这一回咱们继续说C例子, 说的例子是链表,更准确的说法叫作单链表.咱们不但要说C例子,而且会在例子中使用上一回中说过的 文件组织结构,就当作是举例说明文件组织结构的使用方法. 有点一石二鸟的感觉,哈哈. 链表定义 看官们,所谓的链表其实就是一组元素通过一定的方式链接在一起.比如我们坐的火车

一起talk C栗子吧(第一百三十二回:C语言实例--从内存的角度看进程和线程)

各位看官们,大家好,上一回中咱们说的C程序内存布局的例子,这一回咱们说的例子是:从内存的角度看进程和线程.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们刚刚介绍完C程序的内存布局,我们趁热打铁,从内存的角度来分析一下进程和线程. 不管是进程还是线程,他们都会加载到内存中才能运行,因此他们在内存中的布局和其它C程序的内存布局完全相同.进程和线程的内存布局也分为代码区,数据区,堆区和栈区. 对进程来说,父子进程只共享代码区中的内容,父子进程拥有各自的数据区,堆区和栈区.而且它们只能

一起talk C栗子吧(第三十二回:C语言实例--再谈最大公约数)

各位看官们,大家好,我们在第九回中一起说过最大公约数的例子,这一回咱们继续说该例子.闲话休提, 言归正转.让我们一起talk C栗子吧! 关于最大公约数的内容,我们在第九回中提到过,如果大家忘记了的话,可以点击这里查看原文. 我们今天继续说最大公约数,说的内容可以看作是对第九回的补充.和第九回一样,我们还是通过辗转相 除法来求最大公约数.不过我们在第九回中主要通过循环的方式来实现辗转相除法,今天我们使用另外一 种方式来实现辗转相除法. 看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家

一起talk C栗子吧(第二十二回:C语言实例--队列一)

各位看官们,大家好,上一回中咱们说的是表达式求值的例子,该例子使用了栈,这一回咱们说的是栈的 兄弟:队列.闲话休提,言归正转.让我们一起talk C栗子吧! 我们在这里说的队列是一种抽象的数据结构,大家不用想的太抽象了,哈哈,其实它和我们日常生活中所 见的队列一样.不管怎么样,我们还是举一个容易理解的例子:大家在假期出去旅游的时候,都有过排队 买门票的经历吧.游客们在售票点的窗口前排成了一长串队列,售票人员先把门票卖给排在队列前面的游 客,买到门票的游客拿着门票兴高采烈地离开了队列,刚来到售票点

一起talk C栗子吧(第九十六回:C语言实例--使用共享内存进行进程间通信二)

各位看官们.大家好,上一回中咱们说的是使用共享内存进行进程间通信的样例,这一回咱们接着上一回内容继续说使用共享内存进行进程间通信. 闲话休提,言归正转.让我们一起talk C栗子吧! 我们在上一回中介绍了共享内存的概念和相关函数的使用方法.这一回中我们通过详细的样例来说明怎样使用共享内存进行进程间的通信.以下是使用共享内存的详细步骤: 1.定义一个结构体类型,用来当作共享内存的类型: 2.使用shmget函数获取共享内存,代码中的键使用了111这个随机数字. 3.使用shmat函数把共享连接到进

一起talk C栗子吧(第二十六回:C语言实例--冒泡排序)

各位看官们,大家好,上一回中咱们说的是二分查找的例子,这一回咱们说的例子是:冒泡排序.闲话休 提,言归正转.让我们一起talk C栗子吧! 我们先来说说什么是排序,所谓的排序就是把容器中的元素依据一定的规则进行排列.我们还是像以前一 样举个日常生活中的例子来说明:现在学校里基本上都在搞军训,我想大家也参加过军训,在军训前肯定 会让大家排队,教官会让大家依据自己的身高从低到高进行排队,这样排出来的队列比较整齐.在排队的 过程中就使用了排序,参加军训的学生就是容器中元素,排序的规则就是教官定的:依据

第三十六篇:WinUSB调试实例

有人问,前面的博文,分别列出了USB xHCI, USB3 HUB, UCX01000的符号有什么用? 答案是,虽然我们不能看到MICROSOFT 的源代码,但通过这些符号,可以帮助我们调试USB子系统. 下面给出一例: 做USB设备驱动这些年,用过Cypress的USB3.0驱动,改过Philips USB1.1, Cypress USB2.0的驱动代码, 开发了基于Microsoft USBSamp的USB IP测试软件包. 最近,又借助WinUSB来完成一个音视频设备项目. 使用WinUS

微信小程序把玩(三十六)Storage API

原文:微信小程序把玩(三十六)Storage API 其实这个存储在新建Demo的时候就已经用到了就是存储就是那个logs日志,数据存储主要分为同步和异步 异步存储方法: 存数据 wx.setStorage(object) 相同key会覆盖,可写回调方法 获取方法: wx.getStorage(object) 清除方法: wx.clearStorage()里面可以写回调函数 成功,失败,完成 同步存储方法: 存数据 相同key会覆盖 wx.setStorageSync(key,data) 读数据