目录
1.1 从数组到向量
1.1.1 抽象数据类型与数据结构
封装 : 将数据项与相关的操作结合为一个整体,并将其从外部的可见性划分为若干等级,从而将数据结构的外部特性与其内部实现相分离,提供一致且标准的对外接口,隐藏内部的实现细节。
抽象数据类型 : 数据集合及其对应的操作可超脱于具体的程序设计语言、具体的实现方式
数据结构 : 数据项的结构化集合,其结构性表现为数据项之间的相互联系及作用,也可以理解为定义于数据项之间的某种逻辑次序。划分为线性结构、半线性结构与非线性结构。
应用 = 接口 * 实现
1.1.2 数组
C、C++和Java等程序设计语言,都将数组作为一种内置的数据支持,支持对一组相关元素的存储组织与访问操作。
A = { a0, a1, ......, an-1 }
A[0, n) = { A[0], A[1], ......, A[n - 1] }
前驱,后缀,直接前驱,直接后缀
数组元素的物理地址与其下标之间满足线性