- 博客(27)
- 资源 (13)
- 收藏
- 关注
原创 成员函数作为线程函数的一种方法
由于this的原因,类的成员函数无法作为线程函数,只能将static成员函数作为线程函数,但是static成员函数不能访问非static变量,要想访问static变量,那么我们可以使用下面例子中的方法:class TestThread{public: TestThread(); ~TestThread();
2009-08-17 09:46:00
864
1
原创 回溯法
回溯法是一种系统的搜索问题解的算法。 回溯法的一般执行步骤如下: 1、针对问题,定义一个解空间,它包含问题的解。2、用适于搜索的方式组织该空间。3、以深度优先的方式搜索该空间,并利用限界函数来避免搜索不可能产生解的子空间。 回溯法通常在解空间树上进行搜索,而解空间树通常有子集树和排列树。1、当所给
2009-03-16 20:13:00
615
原创 Java反射机制
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。Java反射机制主要提供了以下功能: 1.在运行时判断任意一个对象所属的类 2.在运
2009-02-25 10:44:00
348
1
原创 设计模式原则
OO基础 抽象 封装 多态 继承 OO原则 1、 找出应用中可能需要变化指出,把它们独立出来,不要和那些不需要变化的代码混在一起;2、 针对接口编程,而不是针对实现编程;3、 多用组
2008-12-20 20:45:00
216
原创 设计模式学习(增加中...)
策略模式的定义定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。所谓算法族,使用了同一接口,分别封装实现的类的集合叫做算法族。 例如:设计一个鸭子游戏,有的鸭子会飞,有的鸭子不会飞(玩具鸭子);有的鸭子会叫,有的鸭子不会叫,所以分别用FlyBe
2008-12-12 17:06:00
224
转载 策略(Strategy)模式
Strategy模式也叫策略模式,是由GoF提出的23种软件设计模式的一种。 Strategy模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换。概要:- S
2008-12-08 15:41:00
209
转载 装饰器(Decorator)模式
Decorator设计模式是典型的结构型模式(在GOF的那本模式的Bible中将模式分为:1.创建型模式;2.结构型模式;3.行为模式三种)。它的主要用意是:动态地为对象添加一些额外的功能。(记住上面两种颜色的词汇,理解装饰器模式的精髓所在!)下面是GOF的《Element of re
2008-11-24 15:40:00
255
转载 符号编码-ASCII、Unicode、Unicode big endian、UTF-8之间的关系
1. ASCII 码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位( bit )有 0 和 1 两种状态,因此八个二进制位就可以组合出 256 种状态,这被称为一个字节( byte )。也就是说,一个字节一共可以用来表示 256 种不同的状态,每一个状态对应一个符号,就是 256 个符号,从 0000000 到 11111111 。 上个世纪
2008-11-02 22:44:00
2098
原创 Python学习
Python语言,我以前学过,但是由于好久没用,所以忘得差不多了,最近又重新学习,语法已经通了,只剩下类库的应用了。总的感觉就是Python真的很简捷、灵活,而且具有很丰富和强大的类库。举例如下:>>> a,b=3,5>>> a,b=b,a就这么简单就可以实现交换两个数。 >>> [x for x in range(21) if x%2==0]
2008-06-05 23:46:00
266
原创 分形算法及C++实现
1.分形简介我们人类生活的世界是一个极其复杂的世界,例如,喧闹的都市生活、变幻莫测的股市变化、复杂的生命现象、蜿蜒曲折的海岸线、坑坑洼洼的地面等等,都表现了客观世界特别丰富的现象。基于传统欧几里得几何学的各门自然科学总是把研究对象想象成一个个规则的形体,而我们生活的世界竟如此不规则和支离破碎,与欧几里得几何图形相比,拥有完全不同层次的复杂性。分形几何则提供了一种描述这种
2007-11-18 21:56:00
4714
4
原创 数组(一维、二维、三维)的动态申请及用vector的表示方法
1. 变长一维数组这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做:#includeusing namespace std;int main(){ int len; cin>>len; //用指针p指向new动态分配的长度为len*sizeof(int)的内存空间 i
2007-10-05 21:44:00
1568
2
原创 用动态申请虚拟内存求任意数阶乘的C++实现
计算较小数的阶乘程序很容易编写,对于较大数的阶乘的计算一般做法是使用数组,但是数组的长度有限,本程序采用动态申请虚拟内存空间的方法,优点是使用的不是物理内存,而是虚拟内存,申请的范围更大。具体程序如下:#include #include using namespace std;int lfac(int *a, int n){ int sum,sc; for(int i=0;i {
2007-09-18 00:43:00
469
原创 Windows变量与C++变量的类型对应
wtypes.hC++Managed ExtensionsCommon language runtimeHANDLEvoid *void *IntPtr, UIntPtrBYTEunsigned charunsigned char
2007-09-12 00:28:00
440
原创 C++类型转换运算符的使用
C++提供了四个新的类型转换运算符:const_cast dynamic_castreinterpret_cast static_cast 使用方法:cast_operator (object) 类型转换操作符 要转换的类型 要进行转换的对象① dynamic
2007-08-19 17:59:00
540
原创 快速傅里叶变换的基2FFT算法的C++实现
快速傅里叶变换的基本原理由于公式不好显示请读者参考其它文章或书籍,本文重点给出了时域抽取法FFT的C++实现。 下面是算法的流程图 倒序的流程图C++实现代码:1. FFT.h#pragma once#ifndef FFT_H#define FFT_H#include #include using namespace std
2007-08-18 13:58:00
2945
4
原创 键盘键与虚拟键码对照表
字母和数字键 键 键码 A 65 B 66 C 67 D 68 E 69 F 70 G 71 H 72 I 73 J 74 K 75 L 76 M 77
2007-08-18 11:02:00
450
原创 什么是Ajax
1.Ajax的定义:Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。 2.Ajax包括:XHTML和CSS 使用文档对象模型(DocumentObjectModel)作动态显示和交互 使用XML和XSLT做数据交互和操作 使用XMLHttpRequest进行异步数据接收 使用JavaScript将它们绑定在一起 Ajax(Asynchronou
2007-08-16 17:25:00
407
原创 浅谈软件破解
很多软件使用起来都需要注册码,本文简要给出了一般的破解步骤,只是在于抛砖引玉。步骤一 检测壳 所谓“壳”就是专门压缩的工具。 这里的压缩并不是我们平时使用的RAR、ZIP这些工具的压缩,壳的压缩指的是针对exe、com、和dll等程序文件进行压缩,在程序中加入一段如同保护层的代码,使原程序文件代码失去本来面目,从而保护程序不被非法修改和反编译,
2007-08-15 18:04:00
397
转载 如何编写代码才能使得效率高
一、排版: 1.关键词和操作符之间加适当的空格。 2.相对独立的程序块与块之间加空行 3.较长的语句、表达式等要分成多行书写。 4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。 5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。 6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。 7.若函数或过程中的参数较长,则要进行适当的划分。
2007-08-10 23:12:00
274
转载 游戏引擎
我们常常会碰见“引擎”(Engine)这个单词,引擎在游戏中究竟起着什么样的作用?它的进化对于游戏的发展产生了哪些影响?一、什么是引擎我们可以把游戏的引擎比作赛车的引擎,大家知道,引擎是赛车的心脏,决定着赛车的性能和稳定性,赛车的速度、操纵感这些直接与车手相关的指标都是建立在引擎的基础上的。游戏也是如此,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机
2007-07-26 23:28:00
551
原创 搜索算法小结
搜索算法是利用计算机的高性能来有目的的穷举一个问题的部分和所有的可能情况,从而求出问题的解的一种方法。 常用的搜索算法有: 一.回溯法 回溯算法是所有搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”思想作为其控制结构,其相当于采用了先根遍历的方法来构造解答树,可用于找解或所有解以及最优解。 二.深度优先搜索和
2007-07-26 18:41:00
432
原创 模拟手工乘法的实现
我们知道,计算机能表示的数的范围有限,所以对于一些大数就无法表示,以下程序是模拟手工乘法对两个任意大小数的乘法计算的实现:#include #include using namespace std;int GetDot(char ra[]){ //取小数点的位置 for (int i = strlen(ra) - 1; i >= 0; i--) if (ra[i] == .
2007-07-23 14:48:00
389
原创 C#中的消息
在C#中,程序采用了的驱动采用了事件驱动而不是原来的消息驱动,虽然.net框架提供的事件已经十分丰富,但是在以前的系统中定义了丰富的消息对系统的编程提供了方便的实现方法,因此在C#中使用消息有时候还是大大提高编程的效率的。 1 定义消息 在c#中消息需要定义成windows系统中的原始的16进制数字,比如 const int WM_Lbutton
2007-07-23 14:17:00
355
原创 基本算法(1)- 由前序中序求后序
问题描述:已知一棵二叉树的前序排列和中序排列,求出它的后序排列。 问题分析:前序遍历的第一个节点既是根节点,此节点将中序遍历分成左右子树,同理,对剩下的节点的左右子树进行同样的分析。算法实现:#include #include using namespace std;int findnum(string mid, char c){ //找到c在mid中的位置 for(int i =
2007-07-22 13:10:00
1460
1
原创 正则表达式小结
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来:(1)检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串;(2)根据匹配规则对字符串进行灵活的替换操作。 小结如下:/ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,n 匹配字符 "n"。/n 匹配一个换行符。序列
2007-07-21 17:26:00
293
转载 C99标准(转)
在ANSI标准化后,C语言的标准在一段相当的时间内都保持不变,尽管C++继续在改进。(实际上,Normative Amendment1在1995年已经开发了一个新的C语言版本。但是这个版本很少为人所知。)标准在90年代才经历了改进,这就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。 在C99中包括的特性有:
2007-07-20 16:43:00
327
好巴鹿—个性收藏夹,个性音乐播放器
2011-02-09
电脑文件保护软件( 初始密码666666)
2007-03-16
电脑文件保护软件
2007-03-16
注册表开机清理+进程文件监控
2007-03-15
进程文件监控(修改了日志目录)
2007-03-14
进程文件监控
2007-03-14
可视化图论算法软件
2007-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人