文章导读
【前面介绍的数据类型都是基本数据类型,例如整型、字符型、浮点型等数据,属于简单的数据类型。但要解决现实问题仅有简单数据类型是不够的,难以反映出现实数据的特点,因此需要提供一类结构化数据以满足数据处理要求。本篇文章主要讲述数组结构,内容包括一维数组和二维数组,以及数组的具体应用】
本文内容分为五个小节,第一小节讲述最简单的数据结构线性表,以及线性表与数组的关系;第二小节讲述数组的存储结构;第三小节讲述数组的维数;第四小节讲述一维和维数组的声明、初始化和使用方法;第五小节讲述数组元素的访问方法。
第一小节 线性表与数组
从详解Java数据及数据类型一文中两个示例可以看出,被计算机加工的数据元素(如:一本书的信息,企业的组织结构等)都不是孤立的,在它们之间存在着某种联系,这种相互之间的关系,通常称做结构。从集合论观点看,结构是一个二元组
数据结构 = (D,R)
其中:D是数据元素的集合,R是D上关系的集合。例如,复数可被定义为一种数据结构
Complex = (D,R)
其中 D = {x|x是实数}
R = {R1}
R1 = {|x,y∈D,x称为实部,y称为序部}
由此,由任何一对实数均可得到一个复数。又如,整数、实数也是数据结构,由于它们的数据元素间的关系都很简单,称它们为初等数据结构。
在现实中经常遇到的一种结构是线性表,线性表是最常用而且是最简单的一种数据结构。一个线性表是n个数据元素的有限序列
(a1,a2,…an)
至于一个数据元素a的具体含义,在不同的情况下可以不同,它可以是一个整数、也可以是一个浮点数、或者是一个字符、也可以是图书信息、甚至是其它更复杂的信息。
例如:英文字母表
(A,B,C,……,Z)
是一个线性表,表中的数据元素是单个字母。又如,某班级学生数学成绩可以用线性表的形式给出
(87.5,91,83.2,……,79)
表中的数据元素是浮点数。
线性表在物理存储上也分为顺序存储结构和链式存储结构。采用顺序存储结构的线性表也称为数组,其所占的内存区域是连续的;采用链式存储结构的称为链表,链表根据链接形式的不同又分为单链表、双向链表等多种结构。本文主要介绍数组结构。
第二小节 数组的存储结构
数组是有序