2.1 ADT 数组与结构

  • 「ADT 数组」 一个序对 <index, value> 的集合,其中对于每一个 index 值,都有一个集合中的 item(或 value)与其对应。index 是一个有穷的一维或多维有序集合。
class Array {
    Array Create(j, list) {
        return 一个 j 维的数组,其中 list 是一个 j 元组,其第 i 个分量表示数组第 i 维的大小。Items 没有定义。
    }
    Item Retrieve(A, i) {
        if (i ∈ index) return 数组 A 中下标值为 i 的项。 
        else return 错误
    }
    Array Store(A, i, x) {
        if (i ∈ index) return 在原数组 A 增加新序对 <i, x> 后的数组。 else return 错误
    }
}
  • 「结构 structure」 是数据项的聚集,其中每一个数据项用相应的类型和名称标识。
  • 「共用体 union」 的声明类似于结构,但是其成员域必须共享同一存储空间。
  • 「自引用结构 self-referential structure」 是一种特殊的结构,它的一个或多个分量是指向其自身的指针。自引用结构通常需要动态存储管理程序(mallocfree)来显式地分配或释放内存。
typedef struct list {
    char data;
    list *link;
}
  • 「有序表 / 线性表」 「顺序映射 sequential mapping」是数组对于有序表的一种实现。

results matching ""

    No results matching ""