| 
 数组 
 数组,顾名思义就是一组同类型的数。 
一、数组的声明 
声明数组的语法为:在数据类型后加方括号括来说明。本接仅介绍一维数组。下面是一个整型数组的例子: 
 这条语句定义了一个具有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 
 
如果对第十三章空间的定义还不熟悉的同学可以回顾一下  
 
 |