- 博客(12)
- 收藏
- 关注
原创 C++模板实现二叉查找树(三 深度优先遍历)
二叉树的深度优先遍历有以下三种模式: 1. 先序遍历(VLR) – 此模式为先访问父节点,再访问左节点,最后访问右节点. 2. 中序遍历(LVR) – 此模式为先访问左节点,再访问父节点,最后访问右节点. 按照中序遍历方法访问二叉查找树,得到的结果是从小到大排列有序的. 3. 后序遍历(LRV) – 此模式为先访问左节点,再访问右节点,最后访问父节点.遍历的思想有两种: 递归 非递归:
2017-03-31 21:08:43 423
原创 C++模板实现二叉查找树(二 节点删除)
接着上一篇内容,继续实现二叉树节点的删除。结点的删除主要有两种方法,合并删除与复制删除。 合并删除的思想是先找到要删除的节点,如果要删除的节点同时有左右子树,则将左(或右)子树挂在要删除的节点的位置,之后将右(或左)子树挂在原来左(或右)子树的最右(或左)节点的右(或左)子树位置。复制删除的思想是先找到要删除的节点,如果要删除的节点同时有左右子树,则进入到其左(或右)子树的最右(或左)节点,将该节
2017-03-29 22:01:52 286
原创 C++模板实现二叉查找树(一 树的数据结构定义与节点插入)
树是一种基本的数据结构.二叉查找树以其高效的搜索效率而被在大数据搜索中广泛应用.本系列文章旨在建立二叉查找树,并实现其基本方法.其中,每一个数的节点用以下数据结构定义,每个节点都包括data域,左指针和右指针.template <class T>class BinNode{public: BinNode(); BinNode(const T& data, BinNode<T>
2017-03-27 22:33:04 398
原创 C++模板链表实现优先级队列
本文是承接我的上一篇文章,只是将普通队列增加了优先级.实现了一个优先级队列.本文采取的优先级队列的实现方式在于数据增加优先级标志位,在数据进入队列时,根据优先级排序的顺序进入,出队列仍然是从头出.使用该种思想实现的优先级队列.继承普通链表队列(具体参考http://blog.csdn.net/luanzheng_365/article/details/64518754). 注意需要将普通链表队列的
2017-03-25 11:12:52 1612
原创 C++常用正则表达式匹配
正则表达式在匹配字符串,验证输入合法性时经常用到.C++ 11标准库中已经支持了正则表达式.以下对于几个常用的验证进行实现,以体会C++正则表达式的用法.注意: 在C++中,对于特殊字符,需要使用转义字符. 因此,匹配数字的\d,需要写成\d这种格式. 经典的三部曲匹配: 1.先写pattern. string pattern = {“XXXX”}; 2.使用re. regex re(pat
2017-03-22 22:58:40 7342
原创 C++模板实现链表队列
队列是一种十分常见的数据结构,具有先进先出的特点.队列在处理消息时,非常常用.本文利用C++,模板,链表来实现一个简单的队列.
2017-03-21 21:18:22 1987
原创 C++模板实现链表
单链表是一种非常基本的数据结构. 虽然C++ STL中已经存在功能强大的List,但我们通过自己实现单链表,对于锻炼C++的基本功,加深对编程的理解与认识还是很有益的. 另外,自己的代码,在使用过程中更容易和敢于修改,更容易灵活定制自己的需求. 在实现单链表的过程中,选用模板,可以使得链表得到极大的灵活性.代码的可复用性大大增强. 核心代码分析解读: 1. 定义存放单个节点的数据结构: T可以
2017-03-19 09:51:34 543
原创 C++模板实现稀疏表
注意:1.使用模板时,vs2015有时候也会识别不出来导致没有提示.这种情况下要相信自己,并非语法错误.尝试编译链接通过,应该就不是语法错误.2.我只定义了2个模板参数,却一直报error C2977,模板参数太多的错误.检查后发现,原来是在另一个文件中定义了同样的结构,而那个文件中只有一个模板参数. 将结构名称更改后,问题消息.奇怪为什么没有include文件,却会导致冲突发生?
2017-03-15 23:06:44 383
原创 C# 多线程中的lock,Monitor.pulse(all)&wait
C#线程间的同步常用lock, monitor来实现. 本文分析一下lock与monitor的异同点.
2017-03-12 17:37:41 995
原创 多线程检测服务器响应时间小工具
在日常工作当中,网络不稳定时有发生,由于该类问题往往呈现不稳定,时好时坏的情况,所以,进行一段时间的连续监测是必要的。由于需要长时间监视,为了防止前台卡死与资源消耗,采用线程来进行网络监测。
2017-03-12 15:53:58 989
原创 .NET, MVC框架下利用html, CSS,js实现弹出窗口
在前端UI交互过程中,经常会碰到需要弹出对话框的情况。通过html+css+js来自定义对话框是一个不错的方法。 1. 在HTML中,定义一个DIV.1.1 将Style设置为 display:none. 该对话框默认为不显示。1.2 制作两个Div按钮。 btnairconfirm, btncancel. 为自定义确定,取消按钮。1.3 给确定按钮绑定onclick事件。利用...
2017-03-12 14:56:38 4460
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人