数组的抽象数据类型
ADT Array{
数据对象:j_i=0,...,b_i-1, i=1,2,...,n
D={a_{j_1 j_2 ... j_n}|n(>0)称为数组的维数,b_i是数组的第i维的长度,
j_i是数组的第i维下标,a_{j_1 j_2 ... j_n}属于ElemSet}
数据关系:R={R1,R2,...,Rn}
R_i={<a_{j_1 ... j_i ... j_n},a_{j_1 ... j_{i+1} ... j_n}>
0<=j_k<=b_k-1,1<=k<=n且k!=i,
0<=j_i<=b_i-2,j_1 ... j_i ... j_n,j_1 ... j_{i+1} ... j_n属于D,i=2,...,n}
基本操作:
InitArray(&A,n,bound1,...,boundn)
操作结果:若维数n和各维长度合法,则构造相应的数组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