2015年7月23日

自己用到的vim常用命令

摘要: 一、前言 这里整理的是我在实习期间用到的常用vim命令,特记录如下,以免忘记。 二、vim常用命令 1.vim中的光标移动 shift+6(^):跳到行首(第一个非空格字符)(注:在shell跳到行首是Ctrl+a) $或者end键:跳到行尾(注:在shell跳到行首是Ctrl+e)(常用) 0或者 阅读全文

posted @ 2015-07-23 10:58 冰雨纷飞 阅读(192) 评论(0) 推荐(0) 编辑

2015年4月27日

用单例模式解决临界区(CRITICAL_SECTION)的使用问题

摘要: 一、前言 最近,在项目中涉及到多线程访问临界资源的问题。为了保护临界资源,可以是使用互斥量或者是使用临界区。由于,我不需要在多进程中同步,又为了效率的考量,所以选择了使用临界区的方式。但是,在使用临界区的时候,发现了一个类是鸡生蛋蛋生鸡的问题。现将问题和自己的解决方法记录如下,如有不对之处,还请指... 阅读全文

posted @ 2015-04-27 12:10 冰雨纷飞 阅读(6252) 评论(13) 推荐(0) 编辑

2015年3月31日

4.二叉搜索树转为有序双向链表(递归算法与非递归算法)

摘要: 一、题目 要求输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建新的节点,只能调整树中结点指针的指向。 二叉树结点定义如下:1 struct BinaryTreeNode2 {3 int m_nValue;4 BinaryTreeNode *m... 阅读全文

posted @ 2015-03-31 15:59 冰雨纷飞 阅读(1793) 评论(2) 推荐(0) 编辑

2015年3月21日

3.异常安全的赋值运算符重载

摘要: 一、题目 如下为类型CMyString,请为该类型添加赋值运算符函数。 1 class CMyString 2 { 3 public: 4 CMyString(char* pData) 5 { 6 m_pData = new char[strlen(pData) +... 阅读全文

posted @ 2015-03-21 13:54 冰雨纷飞 阅读(536) 评论(0) 推荐(0) 编辑

2015年3月19日

2.二叉树的镜像

摘要: 一、题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像。二、算法及实现1.算法 一个二叉树的镜像,他的左子树是原二叉树的右子树,而他的右子树是原二叉树的左子树,而他的子树也是如此。那么,为了得到二叉树的镜像,我们可以把二叉树的左右子树交换,对于其子树,也是如此。该算法用递归实现最符合要求。... 阅读全文

posted @ 2015-03-19 11:11 冰雨纷飞 阅读(165) 评论(0) 推荐(0) 编辑

2015年3月16日

1.合并两个有序的链表

摘要: 一、题目 合并两个有序的链表并使新链表也是有序排列。二、算法实现 1 ListNode* Merge(ListNode* pHead1, ListNode* pHead2) 2 { 3 if (pHead1 == NULL) 4 return pHead2; 5 e... 阅读全文

posted @ 2015-03-16 00:50 冰雨纷飞 阅读(244) 评论(0) 推荐(0) 编辑

2015年1月28日

DirectSound播放PCM(可播放实时采集的音频数据)

摘要: 前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147。非常感谢该博主的无私奉献,写了不少关于不同多媒体库的博文。让我这个小白学习到不少。现在将其整理是为了收录,以备自己查看。一、DirectSound简介... 阅读全文

posted @ 2015-01-28 11:59 冰雨纷飞 阅读(7936) 评论(0) 推荐(0) 编辑

2014年11月18日

自己动手实现STL 03:内存基本处理工具(stl_uninitialized.h)

摘要: 一、前言 前面两篇已经编写了内存配置器和建构解构工具函数。这里,就准备编写并介绍下内存基本处理工具函数。比如uninitialized_copy()、uninitialized_copy和uninitialized_copy_n()等的实现。二、内存工具函数简介1.uninitialized_co... 阅读全文

posted @ 2014-11-18 21:06 冰雨纷飞 阅读(2116) 评论(3) 推荐(0) 编辑

自己动手实现STL 02:构造析构的基本工具construct()和destroy()(stl_construct.h)

摘要: 一、前言 上一篇,我先完成了对内存配置器的实现。然而后面在内存上的算法还依赖于两个全局函数,construct()和destroy(),前者负责在指定的内存上调用对象的构造函数,在内存上构造出对象。后者则是相反,在指定内存上调用对象的析构函数,销毁对象。(注意:这两个函数不涉及对象内存的分配和释放... 阅读全文

posted @ 2014-11-18 10:58 冰雨纷飞 阅读(1447) 评论(1) 推荐(0) 编辑

2014年11月17日

自己动手实现STL 01:内存配置器的实现(stl_alloc.h)

摘要: 一、前言 在STL中,容器是其中的重中之重,基本的STL中的算法,仿函数等都是围绕着容器实现的功能。而,内存配置器,是容器的实现的基础。所以,我第一次要去编写便是内存配置器的实现。在STL中,内存配置器的实现是在stl_alloc.h中。二、配置器原理简要介绍 在SGI STL中配置分为两级,第... 阅读全文

posted @ 2014-11-17 21:05 冰雨纷飞 阅读(1916) 评论(0) 推荐(1) 编辑

导航