摘要: 1、一些问题 顺序存储结构的线性表存在着两个方面的问题: 1. 功能方面:数组操作符的重载,线性表有可能被误用为数组使用 2. 效率方面:在一些场合中,效率上是有隐患的 解决方案:当前的库中没有可以代替原生数组的实现,所以有可能会被误用,需要创建一个数组类代替原生数组。 2、数组类抽象类模板的创建 阅读全文
posted @ 2018-08-16 22:27 小胖鼠 阅读(3057) 评论(0) 推荐(0) 编辑
摘要: 1、效率分析 采用大O表示法来进行效率分析 最耗时的两个操作是: 和`remove` 长度相同的两个 ,插入和删除操作的平均耗时是否相同? 主要分析最耗时的 循环,对于 来说,就是整型的赋值操作 对于 来说,就是两个字符串对象之间赋值操作,可能会发生 ,意味着再来一个 循环单个字符进行赋值 由于数据 阅读全文
posted @ 2018-08-16 11:14 小胖鼠 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1、StaticList类模板 的设计要点:类模板 使用原生数组作为顺序存储空间 使用模板参数决定数组大小 2、DynamicList类模板 设计要点:类模板 申请连续堆空间作为顺序存储空间 动态设置顺序存储空间的大小 保证重置顺序存储空间时的异常安全性 异常安全性的概念: 不泄露任何资源 不允许破 阅读全文
posted @ 2018-08-15 13:40 小胖鼠 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 顺序存储结构 类的抽象实现,该类继承于线性表抽象类 类 顺序存储结构的抽象类 的设计要点: 抽象类模板,存储空间的位置和大小由子类完成 实现顺序存储结构线性表的关键操作(增、删、改、查等) 提供数组操作符,方便快速获取元素 类模板如下: 继承于 ,需要将 中的 函数一一实现 下面对 的关键操作进行具 阅读全文
posted @ 2018-08-15 10:24 小胖鼠 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1、顺序存储的定义 定义:线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表中的数据元素 | $a_1$ | ...... | $a_{i 1}$ | $a_i$ | ...... | $a_{n 1}$ | 2、相关操作 程序设计思路: 可以用一维数组来实现顺序存储结构 存储空间: 阅读全文
posted @ 2018-08-15 09:39 小胖鼠 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 1、线性表 线性表( )的表现形式 零个或多个数据元素组成的集合 数据元素在位置上是有序排列的 数据元素的个数是有限的 数据元素的类型必须相同 线性表的抽象定义: 线性表是具有相同类型的$n(\geq0)$ 个数据元素的有限序列 $$(a_0, a_1, ..., a_{n 1})$$ $a_i$是 阅读全文
posted @ 2018-08-14 10:50 小胖鼠 阅读(330) 评论(0) 推荐(0) 编辑