数据结构教程第十八课数组的顺序表示与实现

文章作者 100test 发表时间 2007:03:10 18:29:18
来源 100Test.Com百考试题网


教学目的: 掌握数组的定义,数组的顺序表示方法

教学重点: 数组的定义,数组的顺序表示方法

教学难点: 数组的顺序表示方法

授课内容:

一、数组的定义

几乎所有的程序设计语言都把数组类型设定为固有类型。

以抽象数据类型的形式讨论数组的定义和实现,可以让我们加深对数组类型的理解。

数组的定义:

ADT Array{

数据对象:ji=0,...,bi-1,i=1,2,...,n.

D={aj1j2...jn|n(>0)称为数组的维数,bi是数组第i维的长度,ji是数组元素的第i维下标,aj1j2...jn (-ElemSet}

数据关系:R={R1,R2,...Rn|

Ri={j1...ji...jn,aj1...ji 1 ...jn>|

0<=jk<=bk-1,1<=k<=n且k<>i,

0<=ji<=bi-2,aj1...ji...jn,

aj1...ji 1 ...jn(-D,i=2,...n}

基本操作:

InitArray(&.A,n,bound1,...,boundn)

若维数和各维长度合法,则构造相应的数组A,并返回OK.

DestroyArray(&.A)

操作结果:销毁数组A.

Value(A,&.e,index1,...,indexn)

初始条件:A是n维数组,e为元素变量,随后是n个下标值.

操作结果:若各下标不超界,则e赋值为所指定的A的元素值,并返回OK.

Assign(&.A,e,index1,...,indexn)

初始条件:A是n维数组,e为元素变量,随后是n个下标值.

操作结果:若下标不超界,则将e的值赋给 所指定的A的元素,并返回OK.

}ADT Array

列向量的一维数组:

a00 a01 a02 ... a0,n-1
a10 a11 a12 ... a1,n-1
... ... ... ... ...
am-1,0 am-1,1 am-1,2 ... am-1,n-1

行向量的一维数组:

把二维数组中的每一行看成是一个数据元素,这些数据元素组成了一个一维数组A.

A0
a00 a01 a02 ... a0,n-1
a10 a11 a12 ... a1,n-1
... ... ... ... ...
am-1,0 am-1,1 am-1,2 ... am-1,n-1
A1
...
Am



相关文章


数据结构教程第二十课广义表
数据结构教程第十八课数组的顺序表示与实现
数据结构教程第十七课实验三:栈的表示与实现及栈的应用
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛