上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 57 下一页
摘要: 问题1: glibc中的strdup实现如下: 没有对参数s进行空指针判断。 我们的Exception.cpp中应做改进: 在第12行进行判断空指针操作。 问题2: t1在析构时会抛出异常,我们在remove一个对象时,要保证链表还是合法的,也就是保证异常安全性。 如上图,我们期望打印的链表长度为2 阅读全文
posted @ 2018-09-15 17:02 周伯通789 阅读(590) 评论(0) 推荐(0)
摘要: 对于自定义对象,我们可以重载普通new操作符,这时候使用new Test()时就会调用到我们重载的普通new操作符。 示例程序: 执行结果如下: 调用placement new,程序如下: 编译结果如下: 提示我们没有对应的函数,也就是placement new没有重载。 更改程序: 结果如下: 再 阅读全文
posted @ 2018-09-15 16:46 周伯通789 阅读(1292) 评论(0) 推荐(1)
摘要: 静态单链表是一种新的数据结构类型。 我们往线性表中添加的元素的个数是固定的,例如最大100个。 只是这100个元素会经常的变动。 这时候是顺序表还是单链表合适呢? 显然是单链表,但是单链表也有问题。 缺陷: 解决方案: 我们在顺序表的内部预留了空间,这片空间用来增加删除数据元素。配合单链表就形成了静 阅读全文
posted @ 2018-09-15 14:41 周伯通789 阅读(390) 评论(0) 推荐(0)
摘要: 问题: 如何遍历单链表中的每一个元素? 示例: 在头部插入元素时,时间复杂度是O(n)。 获取元素时,时间复杂度是O(n*n),因为内层定位位置时有一个O(n)复杂度。 从理论上来说遍历一个单链表,只需要线性的时间就够了。 设计思路: 提供一组相关的遍历函数,遍历时使用这些函数来操作: move函数 阅读全文
posted @ 2018-09-15 13:28 周伯通789 阅读(455) 评论(0) 推荐(0)
摘要: 问题: 如何判断某个数据元素是否存在于线性表中? 查找一个元素是否在线性表中,每次查找就需要使用for循环,因此,我们需要封装一个find成员函数。 在List.h中添加find函数: SeqList.h中添加find的实现: LinkList.h中添加find的实现: 测试程序如下: 运行结果: 阅读全文
posted @ 2018-09-15 11:36 周伯通789 阅读(239) 评论(0) 推荐(0)
摘要: 本节目标: 添加LinkList.h文件: 第110行的get是const函数,116行我们取m_header的指针,这时编译器会认为我们要改变m_header,编译会报错,因此,我们在第20行给m_header这个变量加上mutable属性。 测试程序如下: 运行结果如下: get函数的使用不是很 阅读全文
posted @ 2018-09-15 10:11 周伯通789 阅读(356) 评论(0) 推荐(0)
摘要: 顺序存储结构线性表的最大问题是: 插入和删除需要移动大量的元素。 链式存储结构: 插入元素图解: current先指向头结点,在第几个位置插入元素,就向后移动几次。 图解: 小结: 阅读全文
posted @ 2018-09-13 21:53 周伯通789 阅读(254) 评论(0) 推荐(0)
摘要: 在创建StaticArray时,数组的大小必须是明确指定的,我们需要创建一个新的数组类,数组的大小可以动态的指定。 课程目标: 实验: 新建文件DynamicArray.h文件,如下: 测试程序如下: 结果如下: 第二个测试程序: 结果如下: 可以看到赋值之后,s2就只有5个元素了。 第三个测试程序 阅读全文
posted @ 2018-09-12 21:35 周伯通789 阅读(222) 评论(0) 推荐(0)
摘要: 基于顺序存储结构的线性表可能被当成数组来误用,这一节我们要设计数组类来代替原生数组。 课程目标: Array是一个抽象类,这个类存在的意义就是用来被继承。 需求分析: 原生数组是不提供复制操作的,我们自己的数组要提供复制操作。 length()成员函数设置为纯虚函数,说明这个类是一个纯虚类,用于被继 阅读全文
posted @ 2018-09-11 21:54 周伯通789 阅读(295) 评论(0) 推荐(0)
摘要: 问题: 使用调用门如何实现不同特权级代码之间的跳转(如:从高特权级到低特权级)? 不幸的事实: 调用门只支持从低特权级到高特权级执行 无法利用调用门从高特权级到低特权级执行 从高特权级的代码段通过return far可以返回到低特权级的代码段执行。这时return far是一个跳转指令,完成从高特权 阅读全文
posted @ 2018-09-10 22:09 周伯通789 阅读(538) 评论(0) 推荐(0)
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 57 下一页