摘要:
线性表是用来以线性的方式组织元素的,是一个逻辑结构。线性表组织数据需要一定的存储单元。 顺序存储的定义: 顺序存储在C++中就可以考虑用一个固定大小的数组来作为存储介质。 设计思路: 顺序存储结构的元素获取操作: 顺序存储结构的插入操作: 顺序存储结构的插入示例: 顺序存储结构的删除操作: 顺序存储 阅读全文
摘要:
线性表(List)的表现形式: 零个或者多个数据元素组成的集合 数据元素在位置上是有序排列的 数据元素的个数是有限的 数据元素的类型必须相同 线性表的抽象定义: 线性表的性质: a0为线性表的第一个元素,只有一个后继 an-1为线性表的最后一个元素,只有一个前驱 除了a0和an-1外,其他的元素ai 阅读全文
摘要:
前几节我们开发的智能指针类和异常类族并没有继承自Object,现在我们需要将它们进行整合,作为DTLib这个类库的基础设施。整合的时候需要遵循现代软件的架构模式。 遵循经典设计准则 DTLib中所有类位于单一继承树,可以根据下图中的方式进行整合: 在异常类族中有了新的成员InvalidOperati 阅读全文
摘要:
我们学习数据结构,为什么要创建顶层父类呢? 我们的目标是创建一个可复用的数据结构类库,可复用指的就是在不同的工程里面,我们可以使用本次创建的数据结构库,在不同的编译器、不同的工程、不同的背景下使用这个库都是可以的。既然涉及到了工程应用,我们就需要考虑在当今的软件架构方法中是如何创建一个库的。 当代软 阅读全文
摘要:
当代C++库基本上都会使用C++里面的异常特性,依赖于异常特性所创建的库的稳定性是非常好的。因此,我们创建的库也要引入异常类族。本节中,我们就给DTLib添加异常类族。 异常的类型可以是自定义的类类型 对于类类型的异常的匹配依旧是自上而下的严格匹配 赋值兼容性原则在异常匹配中依然适用 一般而言 匹配 阅读全文