- 博客(3)
- 收藏
- 关注
原创 线索二叉树的相关算法(线索化、求前驱后继、遍历)
写在前面的话:本文不讲算法思路,主要描述的是对算法的代码实现,以及写代码过程中需要特别注意的地方。算法思路参考B站王道论坛的数据结构课程https://www.bilibili.com/video/BV1b7411N798?p=49&spm_id_from=pageDriver。 二叉树结点的定义 线索二叉树必须具有左右孩子标志位,这里标志位的值为0表示孩子指向孩子节点。 typedef int elementType; typedef struct TreeNode { elementType
2021-05-06 21:45:04
757
原创 C#调用C++编写的dll文件
dll文件可以实现混合语言编程,这一点实用性很强。作为一个初学者的把简单混用的例子记录一下,方便自己查看,也给其他在使用的过程中出现各种问题的小伙伴一个参考。 首先是C++编写dll文件,打开vs,文件>新建>项目,出现以下界面,选择红圈的部分,项目名称根据自己需要的改。最后单击确定。 接着点击下一步,出现下面的界面,选择红圈的选项,单击完成。 接着在空项目里面对分别新建一个.cpp和一个.h的文件。然后就可以开始写代码了。 本文就以实现加减乘除的算法来作为例子。在.h的头文件中的代码如下:
2021-01-05 18:58:32
363
原创 单链表的创建方法(头插法、尾插法)
单链表的创建方法 单链表是数据结构中比较基础的结构了。对单链表的的创建方法,比较容易想到的是头插法。但是当要求输入顺序与链表连接的顺序一致时,那么头插法就不是很友好了。因此了解单链表的尾插法也是很重要。 首先定义了单链表节点的数据结构ListNode,具体代码如下: struct ListNode { int data; ListNode *next = NULL; }; 头插法 头插法,顾名思义就是从单链表的头指针处插入节点,优点是思路简单,比较符合单链表的正常思路,缺点就是插入顺序与链表连接顺序相
2020-10-04 21:33:29
3271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人