上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 57 下一页
摘要: 返回的指针谁来负责释放呢?我们采取的措施是使用智能指针来管理这棵树的生命周期。 返回一棵子树的好处是在某些场合,我们能够将H、I、J、M重组,并将它们重新的加回原来的树中。 示例: main函数使用了p指针指向的内存,但是不负责释放,因为从main函数的角度来看,这片内存不是main函数申请的,而从 阅读全文
posted @ 2018-09-23 08:16 周伯通789 阅读(351) 评论(0) 推荐(0)
摘要: 如果一个节点没有子树,那就直接清除这个节点,这就是出口。 添加free函数: 测试程序如下: 现在我们插入的根节点是在栈上,而在释放时却用了delete。 我们的程序比较小,delete栈中的对象暂时没有体现出bug,但是大型程序这样做是不允许的。 改进GTreeNode.h文件如下: GTree. 阅读全文
posted @ 2018-09-22 20:01 周伯通789 阅读(273) 评论(0) 推荐(0)
摘要: 问题: 新插入节点的位置如何指定? 非线性结构无法通过下标指定位置。 插入操作代码流程: 当前的树是一棵空树的话,新节点就当做空节点来插入。不是空树就查找新节点的父节点。 在GTree.h中添加插入操作: 测试程序如下: 结果如下: 小结: 阅读全文
posted @ 2018-09-22 19:36 周伯通789 阅读(752) 评论(0) 推荐(0)
摘要: 第一种查找方式中,如果保存这个值的节点确实保存在树中,那么就将这个节点的指针返回,否则返回空。 第二种查找方式中,按节点查找,如果找到就返回这个节点的地址,没有找到就返回空。 具体的查找方式不能像链表那样,因为树是非线性结构。 树是递归定义的,与树相关的算法也是递归的。 例如:我们查找H,先查找根节 阅读全文
posted @ 2018-09-22 18:52 周伯通789 阅读(447) 评论(0) 推荐(0)
摘要: GTree是通用树结构。 每个节点都包含了指向父节点的指针。 添加GTreeNode.h文件: 添加GTree.h文件: 从上往下看是非线性的,从下往上看是线性的,也就是类似于链表结构,加入父节点指针后,我们就可以用一些链表的知识来处理树了。 在工程中这种方式使用很广泛。 阅读全文
posted @ 2018-09-22 18:16 周伯通789 阅读(181) 评论(0) 推荐(0)
摘要: 树的定义是递归的,与树的相关算法也是递归的。 如果我们定义一个数组,这个数组中的每一个元素是一棵树,那么这个数组就构成了一个森林。 树节点里面有指向父节点的指针,对于工程实践来说非常有帮助。 添加TreeNode.h文件: 添加Tree.h文件: 小结: 阅读全文
posted @ 2018-09-21 22:19 周伯通789 阅读(240) 评论(0) 推荐(0)
摘要: 我们要使Srot能排序Array数组类。 Sort应该既能排序静态数组类又能排序动态数组类。 这个函数返回原生数组的首地址。 数组类需要新增成员函数array,排序类需要新增六个静态成员函数。 Array.h添加array函数: Sort.h改进如下: 无代理时的测试程序: 结果如下: 使用代理类: 阅读全文
posted @ 2018-09-21 20:46 周伯通789 阅读(365) 评论(0) 推荐(0)
摘要: 归并示意图: 程序入下: 注意:归并排序是一种稳定的排序算法 图解: 代码如下: 注意:快速排序是一种不稳定的排序算法 小结: 阅读全文
posted @ 2018-09-21 19:32 周伯通789 阅读(275) 评论(0) 推荐(0)
摘要: Exchang是一个标记,比较一遍的时候如果没有发生任何交换就可以结束了。 冒泡排序就是模拟泡泡从湖底到湖面的过程。 添加冒泡排序: 注意:冒泡排序是稳定的 希尔做了这样一个观察:在一个序列基本有序的情况下,插入排序效率非常高。对于冒泡排序,我们做了标记,如果序列已经是基本有序的,冒泡排序效率也会提 阅读全文
posted @ 2018-09-20 22:53 周伯通789 阅读(270) 评论(0) 推荐(0)
摘要: 添加选择排序: 测试程序如下: 结果如下: 给Select添加一个参数,支持从小到大排序和从大到小排序: 注意:选择排序是不稳定的。 添加插入排序操作: 注意:插入排序是稳定的排序 选择排序的时间复杂度是O(n*n) 插入排序的时间复杂度是O(n*n) 小结: 阅读全文
posted @ 2018-09-20 22:33 周伯通789 阅读(186) 评论(0) 推荐(0)
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 57 下一页