形如

 1   3 4 10
 2  5 9 11
 6  8 12 15
 7 13 14 16

的数组称谓Z形二维数组。填充这样的数组其实只要按照Z形进行行走填充即可,设置一个flag指示方向,行走的时候检测边界,遇到边界便转换方向。

const int N = 16;

void fill_z_array(int A[N][N])
{
for (int i = 1, x = 0, y = 0, flag = 1; i <= N * N; i++) {
A[x][y] = i;
if (flag) {
if (y == 0) {
if (x == N - 1) {
y += 1;
} else {
x += 1;
}
flag = 0;
} else {
if (x == N - 1) {
y += 1;
flag = 0;
} else {
x += 1;
y -= 1;
}
}
} else {
if (x == 0) {
if (y == N - 1) {
x += 1;
} else {
y += 1;
}
flag = 1;
} else {
if (y == N - 1) {
x += 1;
flag = 1;
} else {
x -= 1;
y += 1;
}
}
}
}
}

最新文章

  1. SqlHelper中IN集合场景下的参数处理
  2. xshell5 启动显示 mfc110.dll msvcp110.dll 未找到问题 解决办法
  3. XML JSON解析--基本功能
  4. console,和自己定义事件
  5. C# const与static的理解
  6. V9自定义分页函数
  7. 对Gearman中client,worker,jobserver的理解
  8. 《A First Course in Probability》-chaper5-连续型随机变量-基本概念
  9. std::map中函数用法集合
  10. swift学习笔记(七)自己主动引用计数
  11. Java学习笔记6---字符串比较方法compareTo(String str)
  12. 探究ElasticSearch中的线程池实现
  13. java(8)二重循环
  14. round函数解决oracle报错&quot;OCI-22053: 溢出错误&quot;的问题
  15. 使用link rel=&quot;shortcut icon&quot;为网页标题加图标
  16. [UWP 自定义控件]了解模板化控件(1):基础知识
  17. Jmeter(十九)_ForEach控制器实现网页爬虫
  18. BZOJ3500 : PA2008 Cliquers
  19. 【Java】须要配置的三个Java环境变量
  20. LaTeX 公式(转自)Iowa_Battleship 神犇

热门文章

  1. Array 的五种迭代方法 -----every() /filter() /forEach() /map() /some()
  2. HTTP协议漫谈(转)
  3. Realview MDK 中不用手动开中断的原因
  4. error: ld returned 1 exit status 和 error:undefined reference
  5. Boost正则表达式库regex常用search和match示例 - 编程语言 - 开发者第2241727个问答
  6. poj1144Network(无向图割点数)
  7. javascript第九课&quot;闭包&quot;
  8. SqlServer mssql 按月统计所有部门
  9. 通过一个正则表达式,让SQL Server数据库的带参sql也支持位置参数语法!
  10. SEL数据类型,@selector的用法,以及调用SEL