- 博客(41)
- 资源 (271)
- 收藏
- 关注
转载 二叉树的非递归遍历
二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对
2013-07-11 15:56:08
688
转载 NIM(1) 一排石头的游戏
11.NIM(1)一排石头的游戏NIM(1) 一排石头的游戏 N块石头排成一行,每块石头有各自固定的位置,两个玩家一次取石头每个玩家每次可以取其中任意一块石头,或者相邻的两块石头,石头在游戏过程中不能移位(即编号不会改变),最后能将剩下的石头一次取光的玩家获胜. 如果是你先取,这个游戏有必胜的策略么?(这一问书上已给解答) 很
2013-07-11 14:10:40
850
原创 [gcc编程] make与makefile
makefile和Makefile是等效的$mv makefile Makefile$makegcc -c main.cgcc -c liu.cgcc -c generatedatafile.cgcc -g main.o liu.o generatedatafile.o -o liu -L/usr/local/mysql/lib/mysql -lmysqlclient -l
2012-08-07 13:36:43
925
原创 Miller-Rabin算法
<br /><br />一.费马小定里 <br />if n is prime and (a,n) equals one ,then a^(n-1) = 1 (mod n)<br />费马小定理只是个必要条件,符合费马小定理而非素数的数叫做Carmichael.<br />前3个Carmichael数是561,1105,1729。<br />Carmichael数是非常少的。<br />在1~100000000范围内的整数中,只有255个Carmichael数。<br />为此又有二次探测定理,以确保该数为
2011-04-11 14:52:00
7015
1
原创 计算最大公约数的两种算法:辗转相除法和Stein算法
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b)其算法用C++语言描述为:int gcd(int m, int n){ if (m == 0) return n; if (n == 0) return m; if (m >= 1; n >>= 1; c >= 1; } else if (!is_even(m) && is_even(
2011-04-11 13:36:00
1256
转载 欧几里德算法和扩展欧几里德算法
<br />欧几里德算法<br />欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:<br />定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r 因此d是(b,a mod b)的公约数 假设d 是(b,a mod b)的公约数,则 d | b , d |r ,但是a = kb +
2011-03-22 11:22:00
1186
转载 蒙哥马利(Montgomery)算法简介
<br /><br />俺曾经查阅了网上找得到的各种用于实现RSA 的大数运算库,然而最终还是决<br />定自己动手写一个。因为凡是效率高速度快的代码(crypto++、miracl、freelip、<br />rsaref等),要么使用的数据结构过于复杂,要么编码风格杂乱无章,俺的水平和<br />耐心都实在是有限,以至于无法读懂这些东西。而俺读得懂的一些代码,其实现方<br />式却又过于幼稚,效率极低速度一塌糊涂。俺觉得像俺这样的人不在少数,于是决<br />心写一个清晰易懂,效率也过得去的东西
2011-03-21 23:25:00
19060
1
转载 在Android使用RSA 算法加解密
<br /><br />首先我们可以从上图看到:明文--->公钥--->密文 密文-->密钥-->明文<br /> RSA由于public key<公钥> 和private key<密钥>的不同<也叫非对称算法加解密>,极大的提高了文件的安全性。 对称算法是同key的 ,这样很容易被人破解。<br /> RSA算法:<br /> import java.security.Key; import java.security.KeyFactory; import java.securit
2011-03-21 18:51:00
27140
转载 android源码下载
<br />1. 下载Msysgit, msysgit是Google为Windows环境下开发的Git客户端程序 <br />http://code.google.com/p/msysgit/ <br />2. 安装Msysgit软件,一路next,在此略过... <br />3. 新建一个目录,用于存放待会下载的源码,其实跟svn差不多 <br />4. 右键点击刚才新建的文件夹,选择 “Git Bash”,会有一个类似windows command line 框弹出 <br />5. 查询需要的源码,具
2011-03-20 11:56:00
1136
转载 VC++ Word文档 自动化技术
<br /><br />VC++6.0向Word文件的指定位置上插入一张图片,需要用到nlineShapes类型的AddPicture方法。<br />在MSDN中,该方法的声明如下:<br />**************************************************************************<br />在文档中添加一幅图片。返回一个 Shape 对象,该对象代表图片,并将其添加至 InlineShapes 集合。<br />expression.AddPi
2011-03-17 14:34:00
6113
1
转载 Visual C++ 中操纵 MS Word
<br /><br /> 使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程序中调用。仔细阅读下面的说明,并下载源文件进行参考,你就可以一步一步地掌握这个技术。祝朋友们学习快乐。<br /><br /> 一、概念<br /> Microso
2011-03-17 14:33:00
1356
转载 经典的C++开源库
<br />经典的C++库<br /> STLport-------SGI STL库的跨平台可移植版本,在以前有些编译器离符合<br /> 标准比较远的情况下 那时还是有用的,当然目前vc71已经比较接近标准了,<br /> 故目前不怎么用它了。<br /> Boost---------准标准库, 功能强大 涉及能想的到的大部分非特别领域的算法,<br /> 有一个大的C++社区支持<br /> WxWindows-----功能强大的跨平台GUI库 ,它的功
2011-03-14 11:38:00
1094
转载 MFC中timer 的使用
<br /><br />首先,要设置定时器。<br />在init中(或其他的初始化函数里),调用函数<br />UINT SetTimer(<br /> UINT nIDEvent,//定时器标记,<br /> UINT nElapse,//间隔时间<br /> void ( CALLBACK* lpfnTimer ) (HWND, UINT, UINT, DWORD) = NULL <br />)<br />如settimer(1,2000,NULL);<br />设置定时器1的间隔为200
2011-02-27 12:59:00
2513
2
转载 MFC如何显示位图
<br /><br />void CBitmapView::wtj_paint()<br />{<br /> CDC *pDC;<br /> pDC=GetDC();<br /> CBitmap wtj_bitmap;<br /> CDC dcMemory;<br /> //?CDC *pDC;<br /> wtj_bitmap.LoadBitmap(IDB_BITMAP1);<br /> BITMAP bmInfo;<br /> wtj_bitmap.GetObject(sizeof(bm
2011-02-27 12:56:00
7779
转载 微软 DirectShow 的自摆乌龙
<br />微软 DirectShow 的自摆乌龙<br /><br /><br /><br /><br />在使用有关 DirectShow 东西的时候,使用了头文件<br /><br />#include <qedit.h><br /><br /><br />结果,编译的时候提示如下错误:<br /><br />错误 1 fatal error C1083: 无法打开包括文件:"dxtrans.h": No such file or directory c:/program files/microsof
2011-02-27 12:23:00
1545
转载 VC++程序从OpenCV2.1迁移到OpenCV2.2(vs2010+OpenCV2.2+windows7设置)
<br /><br /> 目前发布的OpenCV的版本为2.2,比之前的2.1版本有很大的改动,有很多程序的迁移遇到了一些问题,现将遇到的一些问题归纳一下:<br /> 1)opencv下载:http://sourceforge.net/projects/opencvlibrary/files/<br /> opencv wiki:http://opencv.willowgarage.com/wiki/<br /> 其中官方主页提供下载最新的 2.2 for vs201
2011-02-27 12:02:00
1299
转载 IplImage 与 CBitmap类 的相互转换
<br /><br />在VC中利用OpenCV做图像处理程序时,有时需要把IpImage 类型和CBitmap类型相互转换,这样就可以利用VC中的GDI+函数对图像进行某些特殊的显示和处理,非常方便。这里是本人项目中写的两个转换小函数,仅供参考,转载注明,这样方便发现问题的朋友联系我及时修改。<br />IplImage转换为CBitmap类型<br />CBitmap *IplImage2CBitmap(const IplImage *pImage)<br />{<br />if( pImage
2011-02-26 21:51:00
4471
1
转载 伽罗华域
<br /><br />GF(2m)域<br />当m=8时,本原多项式为P(x) = x8 + x4 +x3 + x2 + 1 .<br />这个很重要,因为一切化解都来源与此式。<br />在伽罗华域中,加法等同于对应位异或,所以<br />现在把α定义为P(x) = 0的根,即<br /> α8+α4+α3+α2+1 = 0<br /> 即可以得到 α8=α4+α3+α2+1<br />接着先给出下表付推导过程<br /> <br /> 下面就按以下规则进行乘法运算 <br />0=000
2011-02-25 17:43:00
11302
转载 VFW中使用capSetVideoFormat需要注意的
<br /><br />capGetVideoFormat(m_hCapture,&bmpInfo,sizeof(BITMAPINFO));<br /><br />TRACE("get width=%d/n",bmpInfo.bmiHeader.biWidth);<br />TRACE("get biHeight=%d/n",bmpInfo.bmiHeader.biHeight);<br />TRACE("get biBitCount=%d/n",bmpInfo.bmiHeader.biBitC
2011-01-17 11:15:00
4285
原创 VS2010 语法错误: 标识符“__RPC__out_xcount_part” 解决方法
<br /> <br />用VS2010建了一个默认的MFC应用程序,编译后出现如下错误。<br />1>------ 已启动生成: 项目: Test, 配置: Debug Win32 ------<br />1> stdafx.cpp<br />1>c:/program files/microsoft sdks/windows/v7.0a/include/objidl.h(11280): error C2061: 语法错误: 标识符“__RPC__out_xcount_part”<br />1
2011-01-16 17:14:00
10085
1
原创 mt.exe : general error c101008d: Failed to write the updated manifest
由于项目的需要,要求升级到2005,在这期间除了让我莫名其妙的问题。 (1)编译的时候出下面的警告: mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "../release/!1&,.exe". {_~0 v 解决办法:项目属性——配置属性——链接器——清单文件中,把生成清单改成否就行了。 经过进一步的探索,发现在项目属性——
2011-01-12 19:33:00
4059
转载 VS与Win7共舞:系统服务的Session 0隔离
<br /><br /> 隔离,是为了更好的保护。但是,众所周知的,隔离也会给我们的生活带来一些不便。在Windows 7中,操作系统服务的Session 0隔离,阻断了系统服务和用户桌面进程之间进行交互和通信的桥梁。通过Session 0隔离,虽然可以让操作系统更加安全,但是也给系统服务带来了不少兼容性的问题。<br /> 系统服务在Windows 7上遇到的问题<br /> 操作系统服务是Windows操作系统中一套完整的机制。服务不同于普通用户程序之处在于,你可以配置服务,让它们从系统
2011-01-12 17:17:00
5212
原创 MFC 文件,文件夹操作
<br /><br />文件属性相关<br />1.判断文件是否存在<br />利用CFile类和CFileStatus类判断<br />CFileStatus filestatus;<br />if (CFile::GetStatus(_T("d://softist.txt"), filestatus))<br /> AfxMessageBox(_T("文件存在"));<br />else<br /> AfxMessageBox(_T("文件不存在"));<br />利用CFileFind类判
2011-01-12 12:50:00
765
原创 CreateProcessAsUser
<br />微软从XP/2003开始为我们提供了一套Windows Terminal Service 的相关API,这些API都以WTS开头(请安装MSDN2005以查阅相关说明),要获得活动Session也不止一个途径,最简单的就是直接使用 <br />DWORD WTSGetActiveConsoleSessionId(void); <br />来获得活动Session Id 。要在程序中使用这些API需要最新的Platform SDK(如果你正在使用Visual Studio 2005那么它已经具
2011-01-11 19:49:00
16616
原创 createprocess创建进程并隐藏新进程的窗口
<br /><br />方法很简单,在createprocess调用时修改一下STARTUPINFO的参数,使其隐藏即可。<br />下面是代码示例:<br />PROCESS_INFORMATION pi;<br />STARTUPINFO si; //隐藏进程窗口<br />si.cb = sizeof(STARTUPINFO);<br />si.lpReserved = NULL;<br />si.lpDesktop = NULL;<br />si.lpTitle = NULL;<b
2011-01-11 19:48:00
11817
1
原创 VC实现:bmp转jpg、jpg转bmp、截屏保存jpg
<br /><br /><br /><br /> <br /> <br /> <br /> <br />1.下载(GDI+ for VC6.0 SDK)GDIPlus文件将其中的Includes和Lib中的文件拷到vc目录下的Includes和Lib文件夹中.<br /> 下载地址:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip(引用他人的)<br />2.在你将要使用GDI+的工程中,完成初始化工作:<br />在StdAfx.h中加入<br
2011-01-09 21:25:00
6865
转载 vs2008
相信许多刚用 VS2008 的程序员,编写应用程序会遇到这种情况,即在开发用的机器上可以正常运行,但是换了没装VS2008的机器,你写的程序就有可能运行不了了。其实当初本人也是遇到这个问题,但是对于MFC程序来说,如果采用MFC静态链接发布,那么这个问题将会被简单解决。但是如果换了Win32项目,情况就不同了,因为它没有使用MFC,但是编译出来的程序,同样无法独立运行。这个问题本人曾在网上寻找过答案,不过网友们的回答都不正确。 有一天,本人在研究用于使用DLL的导入库LIB的兼容性问题(VC6使
2011-01-08 19:25:00
1077
转载 键盘钩子回调函数中的lParam & 0x80000000
<br /><br />看到一个键盘钩子的回调函数如下:<br />LRESULT CALLBACK LaunchHook(int nCode, WPARAM wParam, LPARAM lParam)<br />{<br /> LRESULT Result = CallNextHookEx(kbHook, nCode, wParam, lParam);<br /><br /> if (nCode == HC_ACTION)<br /> {<br /> if (lPara
2010-12-22 21:48:00
4953
1
转载 魔兽局域网协议UDP部分详细解释
<br />魔兽局域网主要有4种消息 <br />第一种、搜索游戏: <br />F7 2F 10 00 50 58 33 57 15 00 00 00 00 00 00 00 ?PX3W <br />这个格式比较简单。 <br />F7 2F 10 00 是格式头部,消息含义的标志。 <br />50 58 33 57 是PX3W几个字,就是冰封王座的逆序。 <br />15 00 00 00 是版本号,0x15=21,即是1.21版的冰封王座在搜索游戏。 <br />00 00 00 00 是某个魔兽的
2010-12-15 21:11:00
6422
原创 Wine下完美安装QQ 2010
<br />1、先安装Wine:yum install wine2、获取获取最新的WineTricks,WineTricks 是 Wine的其中一个开发者DanKegel写的一个安装Windows有关库和软件的小程序,非常有用。下载WineTricks,在终端中输入: wget http://www.kegel.com/wine/winetricks也就几秒的时间。3、安装WineTricks:终端中输入:sh winetricks msxml3 gdiplus riched20 ric
2010-12-06 10:58:00
2883
原创 save default
<br />default saved<br />timeout 3<br /><br />title ***<br />***<br />***<br />savedefault
2010-12-06 09:44:00
748
转载 Fedora 12 13 14基础环境配置
<br />这里假设Fedora 12/13/14业已安装完成,并能联入网络,那么接下来的基础办公和编程环境的配置过程可以走下面这个路线:<br /><br />1、配置sudo file;<br /><br />首先,打开终端,获得root环境: su - ,并输入root帐户密码。<br /><br />然后: visudo ,在root ALL=(ALL) ALL这一行下面空白行处按“A”键进入插入状态,插入一行和上面一行相似的行,只是root改为要加入sudo组的用户名,如我的:<br
2010-12-06 09:35:00
2376
1
转载 Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
<br /><br />Microsoft .Net Remoting系列专题之一<br />一、Remoting基础<br />什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft® .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用
2010-11-15 20:29:00
1896
转载 VC2005-"应用程序正常初始化失败"-0xc0150002(转载)
<br />最近几天被这个问题困惑了许久。 不禁感叹微软的东东真是越做越烂了,也终于明白了时隔12年大家仍然死守VC6的原因。。 <br /><br /> 用VC2005编译的程序,编译时没有任何错误,但是运行时就是提示“应用程序正常初始化失败”!! 查找了各方面资料,做了各种尝试,网上说什么的都有:有让安装vc2005 sp1补丁的;有让安装vcredist_x86.exe的; 有让把CRT库的dll直接拷贝到程序目录的; 有让清理注册表的;有让装.NetFramework新版本的;有让查manifes
2010-11-06 20:25:00
1080
1
转载 从VC6到VC9移植代码问题总结
<br />当年在学校学习C编程的时候用的是TC2.0,后来学C++用TC3.0,有一天突然发现Borland C++ 3.1的IDE比较好用,于是改用BC31,然后是BC4,但是到了BC5(还有BC5.02)的时候就玩不下去了,因为我那台只有16M内存的P100实在是跑不动这个庞然大物,在OWL和MFC之间“痛苦地”抉择了一部电影的时间后,我决定放弃添加内存的计划,改用Visual C++试试。因为当时内存太贵了,不过电影很好看,我还记得名字是《西域雄狮》,讲的是黄飞鸿到北美开宝之林分号的故事,还收了一个
2010-11-01 19:44:00
862
1
原创 一个Report风格的CListCtrl怎么样通过程序而不是通过鼠标键盘来使某一项处于选中状态
<br />SetItemState(n, LVIS_SELECTED, LVIS_SELECTED); <br />--------------------------------------------------------------- <br /><br />//获得选中 <br />int nItem = listctrl.GetNextItem (-1, LVNI_SELECTED); <br />//取消选中 <br />listctrl.SetItemState(nItem,NULL,NU
2010-10-31 13:55:00
1115
转载 MFC ComboBox 使用方法(转载)
Combo box controls are space savers. Wherever there is no need for a multi-select from a list of items, combo box is a good choice in such places. This article " CComboBox Example" explains how to use the MFC CComboBox class for manipulation of a list of s
2010-10-29 09:00:00
3914
转载 设置listctrl 风格及扩展风格
<br /><br />以下未经说明,listctrl默认view 风格为report<br />相关类及处理函数<br />MFC:CListCtrl类<br />SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格<br /> LVS_ICON: 为每个item显示大图标<br /> LVS_SMALLICON: 为每个item显示小图标<br /> LVS_LIST: 显示一列带有小图标的item<b
2010-10-29 08:46:00
7455
转载 CListCtrl 使用技巧
<br /><br />以下未经说明,listctrl默认view 风格为report<br />相关类及处理函数<br />MFC:CListCtrl类<br />SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格<br /> LVS_ICON: 为每个item显示大图标<br /> LVS_SMALLICON: 为每个item显示小图标<br /> LVS_LIST: 显示一列带有小图标的item<b
2010-10-28 21:41:00
607
转载 用SkinMagic怎样给对话框换肤
<br />在对话框程序里使用skinmagic皮肤控件<br />1<br />先把skinmagiclib.h文件拷贝入工程目录,<br />在左边的fileview卡片里面,在Resource files栏目加入SkinMagicLib.lib和DETOURS.lib,这两个文件的路径在哪里无所谓,只要加入就行。可以把它们拷贝入工程的目 录下。还有,可以把smf皮肤文件都拷贝入工程的目录下,方便加载皮肤。<br />在FileView卡片里面加入SkinMagicLib.h文件,并在stdafx.h中
2010-10-28 21:09:00
940
PCSHARE VIP 2005 C++源代码
2011-01-17
C++ GUI Programming with Qt 4, Second Edition
2010-07-31
Qt4编程.part3
2010-07-05
Qt4编程.part1
2010-07-05
C++_GUI_Programming_with_Qt_4_CN
2010-07-03
Windows应用程序捆绑核心编程源码
2010-07-02
Windows应用程序捆绑核心.part3
2010-07-02
Windows应用程序捆绑核心.part2
2010-07-02
Windows应用程序捆绑核心.part1
2010-07-02
qt 帮助文档qt 帮助文档
2010-06-29
Wiley.Publishing.Professional.Linux.Kernel.Architecture.2008
2010-06-21
Apress+-+Beginning+Android
2010-06-20
android帮助文档part6
2010-06-20
android帮助文档part5
2010-06-20
android帮助文档part4
2010-06-20
android帮助文档part3
2010-06-20
android帮助文档part2
2010-06-20
android完整帮助文档part1
2010-06-20
Beginning+Android+2
2010-06-20
Pro+Android+Games
2010-06-20
[Publish]Android程序员指南
2010-06-20
Visual+Assist+X+10.6.1822.0完美破解版(含最新附加Visual+Studio+2010+插件)
2010-05-12
mwv2.5 webster 韦伯斯特 词典 电子版
2010-02-20
屏幕截图和录像程序的源代码 vs2008 下编译通过
2010-01-02
Wordware Publishing - Virtual Machine Design and Implementation in C_C Plus Plus
2009-12-20
McGraw-Hill - Visual C++.NET Developers Guide-2002
2009-12-20
Sams - Teach Yourself ADO.NET in 24 Hours-2002
2009-12-20
Sams - Teach Yourself ASP.NET in 21 Days 2nd Edition-IOTA
2009-12-20
Sams - Teach.Yourself Visual C++ .NET In 24 Hours-2002
2009-12-20
Sams.Microsoft.Visual.C.Sharp.Dot.NET.2003.Developers.Cookbook.eBook-DDU
2009-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人