摘要: 1 void Link::Sort(Node * Head) { 2 3 Node * Root = NULL; // 头指针,作为一个新链表指针,将所有结点链接到这里 4 Node * Tail = NULL; // 尾指针 5 Node * pMin = NULL; // 作为待操作链表结点中最 阅读全文
posted @ 2016-12-17 19:31 enjoy_Lify 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 1 // 最大存储data[] 数组数据的最大值 2 const int max = 20; 3 // 数组链接的链表尾巴结点 4 struct TNode { 5 int index; 6 TNode * next; 7 }; 8 // 数组头结点 9 struct ArrayHNode { 10 阅读全文
posted @ 2016-12-02 13:38 enjoy_Lify 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 1 void Tree::_postTree(Node * root, Node *&pre) { 2 if (root == NULL) { // 空值不操作 3 return; 4 } 5 else { 6 _postTree(root->lchild, pre); // 递归左树,首先是递归到 阅读全文
posted @ 2016-11-24 18:01 enjoy_Lify 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 using namespace std; 3 4 /* 5 三个函数的内部实现中,大多数定义的变量表示的是 数组的下标, 注意区分!! 6 */ 7 void max_heapify(int *, int, int); // 调整最大堆 数组 组长 当前操作的下标(对应的就是当前操作的值) 8 void build... 阅读全文
posted @ 2016-11-23 21:13 enjoy_Lify 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 构建哈夫曼原理:(每个元素都是叶子结点,N 个元素共有 2N-1 个结点) 有 N 个带权值的结点,将其按以下方法构建:①②③ ①选取 N 个结点集合中最小的两个权值结点构造成一个新的二叉树,且设置新结点的权值为左右孩子权值之和 ②将以上选取的两个最小权值结点从原集合中删除,向集合中加入 这两个结点 阅读全文
posted @ 2016-11-19 23:45 enjoy_Lify 阅读(2397) 评论(0) 推荐(0) 编辑
摘要: 中序线索化二叉树 较为完整可运行程序 1 #include <iostream> 2 using namespace std; 3 4 enum flag{Child, nChild}; 5 6 struct Node { 7 char data; 8 Node * lchild; 9 Node * 阅读全文
posted @ 2016-11-19 22:30 enjoy_Lify 阅读(1499) 评论(3) 推荐(0) 编辑
摘要: 先序线索化在很多书上都有详细解读,这里只是写了一个较为完整的一个程序罢了 阅读全文
posted @ 2016-11-19 22:27 enjoy_Lify 阅读(4304) 评论(0) 推荐(0) 编辑
摘要: 二叉树的遍历,求高度、叶子、结点的非递归形式,可以在某一个遍历中增加一项用于统计的次数即可。 阅读全文
posted @ 2016-11-10 14:41 enjoy_Lify 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 解决方案: 在开始菜单搜索 services.msc,进入本地服务 将 OracleOraDb11g_home1ClrAgent,OracleOraDb11g_home1TNSListener,OracleServiceORCL三项启动即可 阅读全文
posted @ 2016-11-09 16:54 enjoy_Lify 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 递归: 二叉树的创建,遍历,求高度,求结点数,求叶子数。 递归写法很简单,不多说了。 阅读全文
posted @ 2016-11-06 14:39 enjoy_Lify 阅读(161) 评论(0) 推荐(0) 编辑