数组
数组,顾名思义就是一组同类型的数。
一、数组的声明
声明数组的语法为:在数据类型后加方括号括来说明。本接仅介绍一维数组。下面是一个整型数组的例子:
这条语句定义了一个具有10个整型元素的名为array的数组。方括号中的维数表达式可以包含运算符,但其计算结果必须是一个长整型值。这个数组是一维的。
下面这些声明是合法的:
- 整型[] offset = 整型 [5*2]
- 浮点型[] count = 浮点型[5*2+3]
复制代码
下面是不合法的:
- 整型[] offset= 整型 [5*2/3] // 数组的大小不能为浮点数
复制代码
二、用下标访问数组元素
表明该数组是一维数组,里面有10个数,它们分别为offset[0],offset[1],……offset[9];千万注意,数组的第一个元素下标从0开始。一些刚学编程的人员经常在这儿犯一些错误。
offset[3]=25;
上面的例子是把25赋值给整型数组offset的第四个元素。
在赋值的时候,可以使用变量作为数组下标。
- 整型 下标 = 0
- 整型[] offset =整型[5*2]
- 重复(10)
- offset[下标] =辅助.随机数(10,30)
- 下标 =下标 + 1
- 重复结束
复制代码 题目的意思是随机产生10~30之内的10个整数,存入到数组中。
三、数组的初始化
前面说了,变量可以在定义的时候初始化,数组也可以。
- 整型[] array = 整型[5]
- array[0] = 1
- array[1] = 2
- array[2] = 3
- array[3] = 4
- array[4] = 5
复制代码初始化值的个数可以和数组元素个数一样多。
如果初始化的个数多于元素个数,将产生编译错误;如果少于元素个数,其余的元素被初始化为0。
举个例子:
1.输入5个整数存入数组中,然后把它们从小到大排列并放在同一数组中。(思路:先找出最小的,放在第一个位置,为了防止把原先的数覆盖掉,可以把原先的第一个数和最小数的位置互换)。
- 整型[] array = 整型[5]
- 整型 i=0,j=0,min=0,stmp=0
- 重复(5)
- array[i] =辅助.随机数(10,30) // 随机生成5个数
- i =i + 1
- 重复结束
- 字符型 输入内容
- 输入内容 = 字符串.格式化("随机数为:%d,%d,%d,%d,%d", array[0] , array[1] , array[2] , array[3] , array[4])
- 辅助.消息框(输入内容)
- //// 开始排序
- i=0
- 循环(i<4)
- min=array[i]
- j=i+1
- 循环(j<5)
- 如果(min>array[j]) // 里面的4行语句很重要
- min=array[j]
- stmp=array[i]
- array[i]=array[j]
- array[j]=stmp
- 如果结束
- j = j + 1
- 循环结束
- i = i + 1
- 循环结束
- 输入内容 = 字符串.格式化("排列后的数据为:%d,%d,%d,%d,%d", array[0] , array[1] , array[2] , array[3] , array[4])
- 辅助.消息框(输入内容)
复制代码 分析:先让第一个值作为基准,如果后面有比它小的,那么就把这两个数互换一下,同时把基准换成小的值。两个数互换应该这样(stmp=a;a=b;b=stmp;),而不是(a=b;b=a;),想想这是为什么?必须要用一个变量作为桥梁。这种一个一个的把最小的放在前面的排序方法,我们形象的叫做冒泡法。
二维数组 比方说我们熟知的坐标系,在2D游戏里,一组(X,Y)坐标决定人物的位置,而这里的坐标,我们就可以用二维坐标来描述。 二维数组的定义:数据类型 [][] 数组名 比方我们知道游戏里的5组坐标,那么我们就可以定义一个这样的二维数组: 整型[][] 坐标 = 整型[5][2]
这个就可以很清楚的表示:列号为0的表示X坐标,列号为1的表示Y坐标。
二维数组的引用
二维数组和一维数组的使用差不多,不过二维数组提供了二种方法遍历,一种是:先横向再纵向,另一种是:先纵向再横向。不过二种方法的效果都是一样的!那么我们来看看具体怎么访问二维数组。
例如:
- 整型[][] 坐标 = 整型[5][2]
- 整型 i=0,j=0
- 循环(i<5)
- j=0
- 循环(j<2)
- 坐标[i][j]=辅助.随机数(11,32)
- j = j + 1
- 循环结束
- i=i+1
- 循环结束
复制代码二维数组的大小:整型[][]坐标 = 整型[5][2]
// 大小为 5*2
三维数组
定义:
类型[][][] 数组名
如:整型[][][] 变量
初始化大小:变量 = 整型[10][2][3] 数组的大小/长度: N*N*N
整型[10][2][3]这里的大小为10*2*3=60 数组的访问:数组名 [下标1][下标2][下标3]
下标的值为0~N-1
N为数组的长度。
多维数组操作复杂,一般用到二维就够了。
http://player.youku.com/player.php/Type/Folder/Fid/17846022/Ob/1/sid/XNDI2NjI3MDY0/v.swf
如果对第十三章空间的定义还不熟悉的同学可以回顾一下
|