Project1
标题: 什么是数组 [打印本页]
作者: 鑫晴 时间: 2017-7-29 15:56
标题: 什么是数组
Array: 数组,阵列
一维数组
概念:只有宽,或只有高。
简单讲,他的面积只有一行,或者一列。
某个数值的坐标: (1, y) or ( x, 1)
这是一个一维数组:
宽度是10,高度只有1
这是一个一维数组:
宽度是1,高度是6
是不是想到一个东西—— Excel表格。
用表格来举例,一维数组应该是长这个样子的:
温馨提示:
灰色背景部分不算表格内容。
只是为了解释方便而向外扩展。
或者
白色格子里面,相当于一个抽屉。
你应该去过超市,用过储物柜吧~
你可以在格子里面,放进一些东西。
比如:
这个数组在程序上就是这样写:
Socre[ 100, 98, 85, 61 ];
在人类语言的世界里,我们数数是从1开始的数。
表格第1个格子的数值是100
表格第2个格子的数值是98
表格第3个格子的数值是85
表格第4个格子的数值是61
但是,在计算机的世界里,数数是从0开始数的。
数组的第0个位置,是100
数组的第1个位置,是98
数组的第2个位置,是85
数组的第3个位置,是61
请问,这个表格 / 数组的大小是多少?
当然是4个啦..你数数看 [0, 1, 2, 3]
请问,这个数组的第2个位置的值是多少?
Sorce[2] = ?
是98吗?错!
正确答案应该是85
欢迎来到“从零开始的数组世界生活”
二维数组
概念:不仅有宽还有高。
Width, Height
上面的只有一列或者一行的表格,升级啦!
现在的样子才是真正的表格。
某个数值的坐标: (x, y)
这是一个二维数组:
宽度是6,高度是6
A
| B | C | D | E | F |
G | H | I | J | K | L |
M | N | O | P | Q | R |
S | T | U | V | W | X |
Y | Z | 0 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 |
这是一个二维数组:
宽度是7,高度是6
请问,在这个日历的二维数组中,位置(4, 5)的值是多少?
用JavaScript来演示的话:
如果把日历看成6行,7列的话。横着看,一共有6行
第0行是 [26, 27, 28, 29, 30, 1, 2],
第1行是 [ 3, 4, 5, 6, 7, 8, 9],
第2行是 [10, 11, 12, 13, 14, 15, 16],
第3行是 [17, 18, 19, 20, 21, 22, 23],
第4行是 [24, 25, 26, 27, 28, 29, 30],
第5行是 [31, 1, 2, 3, 4, 5, 6]
找到了第4行,就竖着看列。一共有7列
第4行的第0列是 24
第4行的第1列是 25
第4行的第2列是 26
第4行的第3列是 27
第4行的第4列是 28
第4行的第5列是 29
第4行的第6列是 30
所以,这个数组
date[4][5] = 29
下一个问题,
请告诉我18在数组的哪个位置。
date[3][1] = 18
三维数组
概念:不仅有宽还有高,还多了深度
Width, Height, Depth
某个数值的坐标: (x, y, z)
用Excel来举例。
如果说,刚刚的日历是在Excel其中一张Sheet。
你问 Sheet 是什么?
看下面.....
你所看到的一张Sheet,是一个二维数组。
你可以轻松的通过坐标来找到一个位置。
比如,
横着看,在表格中是以字母的顺序来标记。
数着看,在表格中是以数字的顺序来标记。
举例,A1,C10, F36, AT35等。
但在计算机的世界中,
是以(x, y)来标记坐标的。
横着看,是X轴,越往右,X越大。
竖着看,是Y轴,越往下,Y越大。
当然,也得看原点在哪,也就是以哪个地方为出发点。
相信在学校中,你们数学老师教过你们坐标系的概念 :)
X和Y知道了,现在,又多了一个Z轴是什么概念呢?
坐标变成了 (X, Y, Z)
刚刚拿EXCEL来举例,所以Z就是所在的Sheet表。
比如第一张表格的第A行第4列。
对应的坐标就是(A, 4, Sheet 1)
再换个例子,柜子
现在有A, B, C,三个柜子。
每个柜子有3行4列,共12个格子。
如果你把东西存在了A柜的第7号格子。
也就是第1个柜子,第3列第2行的第3个格子。
在计算机世界中,如果原点在左上角。
那它所在位置就是
X = 2 ,
Y = 1,
Z = 0
记住,从零开始数数。
作者: yang1zhi 时间: 2017-7-29 16:14
有列的吗。
不都是行吗。
【【】【】】也是同一行啊。
只是这样看的话,理解成列也可以拉。
不是还有【【【【】【】】】【【【】【】】】】
每个分支都可以再分支。树状图
作者: 眠 时间: 2017-7-29 17:08
说起来,我听说多维数组是很消耗空间的。
我自己做游戏的时候,倒是用了很多3维数组,其中很多是没有装满的。
比如RM里面就没有用多维数组,而是另外定义了一个结构去存放地图数据。
作者: 0nepeop1e 时间: 2017-7-29 19:14
数组就是一种组,里面全是数,因此称为数组
作者: shitake 时间: 2017-7-29 22:34
数组什么的不就是个阿贝尔群么(逃
作者: 余音·魔眼 时间: 2017-7-29 22:47
自我感觉…数组什么的就是参数的组成吧…
作者: taroxd 时间: 2017-7-30 09:22
当一棵树不能满足你的时候,我们就需要一个树族
作者: yagami 时间: 2017-7-30 11:30
lua 是从1开始的
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |