数组的抽象数据类型

    1. ADT Array{
    2. 数据对象:j_i=0,...,b_i-1, i=1,2,...,n
    3. D={a_{j_1 j_2 ... j_n}|n(>0)称为数组的维数,b_i是数组的第i维的长度,
    4. j_i是数组的第i维下标,a_{j_1 j_2 ... j_n}属于ElemSet}
    5. 数据关系:R={R1,R2,...,Rn}
    6. R_i={<a_{j_1 ... j_i ... j_n},a_{j_1 ... j_{i+1} ... j_n}>
    7. 0<=j_k<=b_k-1,1<=k<=nk!=i,
    8. 0<=j_i<=b_i-2,j_1 ... j_i ... j_n,j_1 ... j_{i+1} ... j_n属于D,i=2,...,n}
    9. 基本操作:
    10. InitArray(&A,n,bound1,...,boundn)
    11. 操作结果:若维数n和各维长度合法,则构造相应的数组A,并返回OK
    12. DestroyArray(&A)
    13. 操作结果:销毁数组A
    14. Value(A,&e,index1,...,indexn)
    15. 初始条件:An维数组,e为元素变量,随后是n个下标值。
    16. 操作结果:若各下标不超界,则e赋值为所指定的A的元素值,并返回OK
    17. Assign(&A,e,index1,...,indexn)
    18. 初始条件:An维数组,e为元素变量,随后是n个下标值。
    19. 操作结果:若各下标不超界,则e赋值为所指定的A的元素值,并返回OK
    20. }ADT Array