自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux vi/vim

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。数字通常代表重复做几次的意思!在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

2023-05-26 23:07:00 735

原创 红黑树 C++

写代码之前先写一下红黑树的规则吧每个颜色不是红就是黑。根节点必黑叶子节点必黑红色节点的左右孩子都为黑每个节点到其叶子节点(nil)的所有路径上的黑色节点数量都一样我的理解:从任一节点到叶子结点的路径上,路径的元素必然有黑色节点,而路径的长度则取决于路径上红色节点的数量,最短的路径上,所有节点都是黑色,这种情况下,查找效率为真实的O(logn),和严格平衡的AVL树一致。

2023-05-24 21:18:44 629

原创 排序算法之基数排序

基数排序:根据键值的每位数字来分配桶;计数排序:每个桶只存储单一键值;桶排序:每个桶存储一定范围的数值;基数排序不是直接根据元素整体的大小进行元素比较,而是将原始列表元素分成多个部分,对每一部分按一定的规则进行排序,进而形成最终的有序列表。

2023-05-15 12:32:06 1434

原创 排序算法之桶排序

桶排序是计数排序的变种,它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。把计数排序中相邻的m个”小桶”放到一个”大桶”中,在分完桶后,对每个桶进行排序(一般用快排),然后合并成最后的结果。算法思想和散列中的开散列法差不多,当冲突时放入同一个桶中;可应用于数据量分布比较均匀,或比较侧重于区间数量时。桶排序最关键的建桶,如果桶设计得不好的话桶排序是几乎没有作用的。通常情况下,上下界有两种取法,第一种是取一个10^n或者是2^n的数,方便实现。另一种是取数列的最大值和最小值然后均分作桶.

2023-05-15 12:28:38 1093

原创 排序算法之快速排序

快速排序在排序算法中具有排序速度快,而且是就地排序等优点,使得在许多编程语言的内部元素排序实现中采用的就是快速排序,很多面试题中也经常遇到。对于其算法的改进,除了刚刚上文中提到的意外,根据实际场景还有诸多改进方法,包括对小序列采用插入排序替代,三平均划分,三分区划分等改进方法(相关的改进方法就不一一说明,有兴趣的读者可上网查阅了解)。

2023-05-15 11:58:16 853

原创 排序算法之归并排序

归并排序和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。

2023-05-15 11:50:50 6378 1

原创 排序算法之堆排序的实现

用于记录数据结构和算法的学习过程

2023-05-15 11:23:12 1588

原创 C++ 多线程:实现一个功能完整的线程池

首先,很自然地想到『线程池类里该有个线程对象的集合,然后可以初始化线程对象的个数、创建线程对象、及启动线程主函数』。没错,这些是基本功能,但是,它更重要的功能是『这些线程对象该运行哪些任务,以及怎么运行这些任务』线程池类 ThreadPool 中定义了 AddTask 模板方法用来添加线程任务(也就是函数对象 Func func)。今天我们来聊一聊异步编程的知识。在分布式系统中,一个功能完整的线程池类是一切代码的前提。上述代码中,首先实现了一个简单的线程安全队列 ThreadSafeQue,用来存放任务。

2023-05-10 11:51:31 609

原创 C++20协程

C++ 20 协程

2023-05-08 17:39:14 1912

原创 C++中STL用法超详细总结(收藏级)

C++中STL用法超详细总结(收藏级) (qq.com)https://mp.weixin.qq.com/s/-VJokOs568z8WADcxfTXUQ

2023-05-02 23:11:29 53

原创 25000 字详解 23 种设计模式(多图 + 代码)

25000 字详解 23 种设计模式(多图 + 代码) (qq.com)

2023-05-02 23:09:18 50

原创 CMake个人理解和使用

CMake是一个构建工具,通过它可以很容易创建跨平台的项目。通常使用它构建项目要分两步,通过源代码生成工程文件,通过工程文件构建目标产物(可能是动态库,静态库,也可能是可执行程序)。使用CMake的一个主要优势是在多平台或者多人协作的项目中,开发人员可以根据自己的喜好来使选择IDE,不用受其他人工程配置的影响,它有点像跨平台的IDE,通过它配置好相关设置之后,可以在多个平台无缝衔接,提高开发效率。CMake其实还有很多很多命令,我们这里涉及到的只是很少的一部分。

2023-05-02 23:05:13 800

原创 C++中的智能指针是什么

智能指针是一种 C++中常用的内存管理工具,能够自动管理对象的生命周期,有效避免内存泄漏和资源占用等问题。本文主要介绍了普通指针和智能指针的区别,以及智能指针的分类和特点。我们对每种类型进行了介绍和比较,指出了它们的适用场景和注意事项。在实际应用中,我们应该根据具体场景选择合适的智能指针类型,并注意避免智能指针的陷阱,如循环引用和多线程环境下的竞争问题。同时,我们还可以利用智能指针的一些高级用法和技巧,如自定义删除器和指针转换操作等。

2023-05-02 23:03:47 640

原创 C++有哪些常用的库文件

线程与同步:thread、mutex、condition_variable、future、promise等。容器与算法:vector、list、map、set、queue、stack、algorithm等。: 函数对象库,包含各种函数对象,如算数函数对象、关系函数对象、逻辑函数对象等。第三方库:Boost、OpenCV、MySQL、Qt、RapidJSON等。:迭代器库,包含各种迭代器,如正向迭代器、双向迭代器、随机访问迭代器等。:通用工具库,包含随机数生成、环境变量、标准输入输出、字符串转换等功能。

2023-05-02 23:02:44 2419

转载 C++ 高级开发需要掌握的 10 个主题

我们在这篇文章中尝试列出我们认为 C++ 高级开发人员应该知道的和通常使用的 C++ 主题。当然,C++ 中还有其他高级和重要的特性和主题没有涉及到。我们跳过了我们认为基本的内容。但我们也可能会忽略可以添加到列表中的高级功能。这绝不是一个详尽的列表,几乎可以肯定的是,您可以想到其他可以添加的高级 C++ 项目。C++ 是一门非常丰富的语言,而且还在不断发展!全部掌握它几乎是不可能的。每个 C++ 开发人员的目标应该是不断学习,持续关注新特性(同时确保您对旧特性不会有知识空白)——确保您不会落后。

2023-05-02 23:01:12 148

原创 C++中的移动语义

上面的实例是针对函数的,对于自定义类,C++同样提供了新工具来支持移动语义,即添加了新的移动构造函数,移动赋值函数,其实现即是在拷贝语义的基础上,将左值引用替换为右值引用。17// 输出 Default Constructor// 输出 Copy Constructor// 输出 Move Constructor23}

2023-05-02 22:58:34 971

转载 C ++STL 线程:packaged_task和总结

C ++STL 线程:packaged_task

2023-04-23 18:28:59 90

转载 【无标题】

C++多线程

2023-04-23 15:13:02 38

原创 文件操作 C++ stream类的使用

摘自: http://snowpine.spaces.live.com/blog/cns!3D19B85258C6664E!251.entry 以下内容从上个网址摘抄,这个网址写的内容比较详细,本人只用到这部分所以这部分做备忘!   在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>

2010-08-07 16:47:00 1077 1

原创 Windows 7 防火墙无法启动问题

摘自:http://support.microsoft.com/kb/943996   描述: 在 Windows 7 计算机上您发现 Windows 防火墙服务未运行。当试图手动启动服务时您会遇到下面提及的错误。为 DHCP 客户端服务或诊断策略服务服务,也可能会出现此问题。 下面是"Windows 防火墙"服务的错误: Windows 无法启动本地计算机上的 Windows 防火墙。有关详细的信息查看系统事件日志。这是否非 Microsoft 服务,请与服务供应商联系,请参阅服务特定错误代码

2010-08-07 11:17:00 4454

转载 Ogre 学习笔记之 OGRE轨迹动画

<br /> <br /> <br />Ogre 学习笔记之 OGRE轨迹动画<br /> <br /> <br />转致:http://www.cppblog.com/yuanyajie/archive/2007/03/02/19132.html<br /> <br /> <br /> <br /><br />轨迹动画(Animation Track),是 OGRE 所支持的几种动画模式(包括骨骼动画)中的一种。通过让节点(node)沿着一条预设了关键帧(Key Frame)的轨迹移动来实现节点的动画。

2010-07-17 16:12:00 988

转载 Boost::Regex详解

<br />      要使用Boost.Regex, 你需要包含头文件"boost/regex.hpp". Regex是本书中两个需要独立编译的库之一(另一个是Boost.Signals)。你会很高兴获知如果你已经构建了Boost— —那只需在命令提示符下打一行命令——就可以自动链接了(对于Windows下的编译器),所以你不需要为指出那些库文件要用而费心。 <br />      你要做的第一件事就是声明一个类型 basic_regex 的变量。这是该库的核心类之一,也是存放正则表达式的地方。创建这样一

2010-06-26 15:58:00 925

转载 MP3 文件的ID3V1信息与ID3V2信息结构的分析

MP3文件的ID3V1信息与ID3V2信息结构的分析原作者:  吴俊涛2005/05/05E-mail:[email protected]  QQ:29248671主 页:http://wjt276.home4u.china.com(有源代码)======================================= 一:“ID3v1”信息的分析MP3的基本歌曲信息存在了

2010-04-26 16:03:00 987

转载 Libjpeg开放源代码编译

在Unix或Linux系统上的编译情况如下:1.       tar xzvf jpegsrcv6b.tar.gz2.       cd jpeg-6b3.       ./configure4.       make5.       make test(编译测试程序,看看能否在系统上正确运行)6.       make install 在windows上,用Vis

2010-04-10 14:57:00 3290

转载 使用 VC 编译 PCRE (PCRE 是一套正则表达式的开源库)

 使用 VC 编译 PCREPCRE 是一套正则表达式的开源库最近使用VC编译了一下她的源代码,其实步骤很简单, 如下1 一些源文件改名config.h.generic 改名为 config.hpcre.h.generic 改名为 pcre.hpcre_chartables.c.dist 改名为 pcre_chartables.c2 建立VC工程建立一个VC的DLL工程,去掉原有的包含

2010-04-07 20:49:00 3689 7

转载 Boost下载安装编译配置使用指南(含Windows和Linux)

理论上,本文适用于boost的各个版本,尤其是最新版本1.39.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等。先总结一下Windows系统。一、下载首先从boost官方主页http://www.boost.org/下载最新版boost安装包(目前最新版是1.39.0)。因为boost一部分类是需要编译成库才能使

2010-03-29 11:36:00 770

转载 VS 下 Open Cascade Source Code 编译及自定义工程设置()

转至:http://blog.csdn.net/robinjwong/archive/2009/06/23/4291361.aspx源码编译: 工程编译顺序:.Foundation Classes (file FoundationClasses.*).Modeling Data (file ModelingData.*).Modeling Algorithms (file Mo

2010-03-25 12:41:00 1480

转载 使用电脑要注意护眼 -- 蓝色彼岸

      1、 眼睛累了才需要休息,否则无需关注。     其实眼睛的疲劳是时刻积累起来的,等感觉到累的时候已经受到伤害了。所以应该在感觉到累以前主动采取措施。   2、 液晶显示器和笔记本<span class="t_tag" onclick="function onclick(){tagshow(event)}">电脑无须护眼。     由于液晶显示器和笔记本电脑都是采用液晶屏幕

2010-01-28 09:39:00 721

转载 Windows 7的“上帝模式”详细解析

  Windows 7(以下简称Win7)中藏有“上帝模式”的消息一经披露就在各大网站和论坛中被炒得沸沸扬扬,吸引了大量网友的关注。这个“上帝模式”到底是什么模式?又有何神奇之处呢?下面我们就一探究竟!  “上帝模式”的真面目——全功能控制面板  经常玩游戏的读者一定对“上帝模式”这个词非常熟悉。假如你操作的游戏主角正濒临死亡,一旦开启了“上帝模式”,主角不仅能立刻原地复活、满血满蓝,

2010-01-27 10:20:00 939

转载 vs2008 warning D9035 'Wp64'

<td onclick="function onclick(){function onclick(){if(document.getElementById(st+1).style.display==none)document.getElementById(st+1).style.display=;else document.getElementById(

2009-12-24 16:14:00 1391

转载 转自 - 百度 ( 关于_MSC_VER )

<a onclick="function onclick(){function onclick(){editLemmaPara(/edit/,1276757);return false;}}" href="http://writeblog.csdn.net/#">编辑词条_MSC_VER  _MSC_VER 定义编译器的版本。下面是一些编译器版本的_

2009-12-24 15:38:00 565

原创 游戏界面开发(转Eric)

       好的用户交互体验在很多情况下都会意味着跟多的逻辑代码和更大的运算量, 从使用角度来看,自己作为用户去使用一个产品的时候不太会去在乎后面的实现难度,反过来从实现角度来看呢,会思考很多怎么才能以最干净最简洁的设计来实现功能,但即使有再精炼再高效的算法实现,如果用户体验不够自然不到位,就还是”有问题”。        关键还是做好平衡取舍,保证用户的直接体验是非常重要的,但有时候为

2009-12-21 14:29:00 513

小而精的xml解析器代码

小而精的xml解析器代码.一个开源的代码,大家快来吧.

2009-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除