随笔分类 - 数据结构
摘要:1 void Link::Sort(Node * Head) { 2 3 Node * Root = NULL; // 头指针,作为一个新链表指针,将所有结点链接到这里 4 Node * Tail = NULL; // 尾指针 5 Node * pMin = NULL; // 作为待操作链表结点中最
阅读全文
摘要:1 // 最大存储data[] 数组数据的最大值 2 const int max = 20; 3 // 数组链接的链表尾巴结点 4 struct TNode { 5 int index; 6 TNode * next; 7 }; 8 // 数组头结点 9 struct ArrayHNode { 10
阅读全文
摘要:1 void Tree::_postTree(Node * root, Node *&pre) { 2 if (root == NULL) { // 空值不操作 3 return; 4 } 5 else { 6 _postTree(root->lchild, pre); // 递归左树,首先是递归到
阅读全文
摘要:1 #include 2 using namespace std; 3 4 /* 5 三个函数的内部实现中,大多数定义的变量表示的是 数组的下标, 注意区分!! 6 */ 7 void max_heapify(int *, int, int); // 调整最大堆 数组 组长 当前操作的下标(对应的就是当前操作的值) 8 void build...
阅读全文
摘要:中序线索化二叉树 较为完整可运行程序 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 *
阅读全文
摘要:先序线索化在很多书上都有详细解读,这里只是写了一个较为完整的一个程序罢了
阅读全文
摘要:二叉树的遍历,求高度、叶子、结点的非递归形式,可以在某一个遍历中增加一项用于统计的次数即可。
阅读全文
摘要:递归: 二叉树的创建,遍历,求高度,求结点数,求叶子数。 递归写法很简单,不多说了。
阅读全文
摘要:非递归按照 层序 创建二叉树,利用 队列(即可先进先出特点)存放已访问的结点元素的地址。 初始化:front=rear= -1; 每储存一个结点元素 rear+1 ,利用 rear%2==0 来使 front+1 回车表示结点输入完毕 该图为 第一次执行到 构建右孩子时的示意图:
阅读全文
摘要:注: 较为简便的方法是用 整型(int)或浮点型(long、double 注意:该类型不一定能够准确存储数据) 来存放待转换的数值,可直接取余得到每一位数值 较为稳定的方法是用 字符数组储存待转换的数值,这将能够完整存储数据,但是也相对于代码较长 进制转换只需要两步: R -> 十 或者 十 ->
阅读全文
摘要:实现两个多项式进行相加 不开辟空间 ( 这要求实现进行相加,代价为两个原链表将被修改) 分析: this>other 就把other当前结点放置在this之前 this<other 就this当前结点前移一位,并且后继也前移一位 this==other 求和为0就删除,并全部前移一位,不等就删除ot
阅读全文
浙公网安备 33010602011771号