- 博客(38)
- 资源 (2)
- 收藏
- 关注

原创 指针的魅力
指针的魅力序指针说:love me,love me!但是他对指针说:I hate u,I hate u!…… 指针仅仅是作为指针,我们可以把它当做有用的工具,为我们提供便利与好处。说起工具不得不让我想起一样东西——锄头,因为原人类有了锄头才使人类文明进入了开荒造田的农业时代,解决了温饱,开启了人类新纪元。可以这么说吧锄头使人类文明得到进步,没有锄头也就没有今天的
2011-09-01 00:28:58
24320
50

原创 四叉树与八叉树
前序四叉树或四元树也被称为Q树(Q-Tree)。四叉树广泛应用于图像处理、空间数据索引、2D中的快速碰撞检测、存储稀疏数据等,而八叉树(Octree)主要应用于3D图形处理。对游戏编程,这会很有用。本文着重于对四叉树与八叉树的原理与结构的介绍,帮助您在脑海中建立四叉树与八叉树
2011-08-21 15:34:13
52752
10

原创 细说使用const修饰符的好处
声明:以前只知道要多用const,却不知为什么。今天看我以前写的代码时,突然间领悟了添加const修饰符的好处妙处,加上以前的理解,在这里做一个总结。我们都知道const修饰符对对象所起的有如下作用:1、修饰一个对象,也就是常对象或常量,使编译器对该对象实施不能修改的约束2、修饰
2011-07-23 18:23:46
9685
5

原创 心碎的花心龟农场遭遇洪水,雇一程序员帮忙编写程序计算损失(算法)
勤劳的花心龟日复一日的经营着自己的农场,投注了自己毕生的心血。但是让他心碎的是最近暴雨连连,农场也受到波及,很多区域都被淹没了。 已知农场可以用MXN的矩阵表示(1 现在,我们可怜的花心龟看着自己苦心经营的农场变成这样,心都碎了,他只有一个想
2011-07-23 03:36:36
11257
26

原创 代码疑云,等你来解
(请点击以下各链接)http://blog.youkuaiyun.com/zhanxinhang,否则死也要追究你>代码疑云(1)-掌握初始化列表代码疑云(2)-c函数调用约定代码疑云(3)-静态字符串代码疑云(4)-类的sizeof值代码疑云(5)-类成
2011-07-22 21:05:26
7225
5

原创 趣味三角形
编写程序,要求输入N的值,输出如图所示的图形。 例如输入N=5,输出: 其中小三角形行数和大三角形行数都为5 算法思路:略实现代码:/** copy right by Zhanhang* qq:273711460* e-Mail:zha
2011-07-05 23:43:35
3151
2
原创 配置我自己的vs环境
1 、下载emacs 快捷键插件 2 、新建垂直窗口快捷键设置为C-X, 3 3 、 列出成员快捷键设为C - ; 4、视图.解决方案资源管理器快捷键设为C- - 用上下左右方向键和PageDown \ PageUp 键对树形目录进行浏览控制,视图.打开快捷键设为C - Enter 用来打开资源管理器中选中的文件。5、F5 、F7、 F9、 F10、 F11 作为调试快捷键
2013-12-06 02:06:22
2918
原创 拷贝构造与赋值函数
class CopyTest{ int a; int b; char *pStr;private: //试着把复制成员变量 void SafeCopyMem(const CopyTest &ct) { if(this == &ct) //避免同对象复制 return; a=ct.a; b=ct.b; if(NULL != pStr) { dele
2013-11-18 20:32:33
2785
原创 一个模板单例的实现
以前看过高手写的单例实现,也是利用继承模板基类来实现,最近正要用到单例模式,却苦于找不到以前高手的代码,于是就自己动手实现,代码如下templateclass Singletion{ friend T;private: Singletion(){} virtual ~Singletion(){} static T* pObject; //利用此类析构函数释放单例实例内存
2013-11-18 03:24:08
4334
2
原创 c++面向对象编程必备“良方”(欢迎大家来补充!)
前言:c++面向对象中的繁琐机制,不得不让你在编程中频频“犯病”,找错误,找bug,困扰,是你的病源所在,本人虽不是什么“良医”, 却也算是总结出以下“良方”。注:难免会有记忆上的遗漏,知识上的不够,遗漏之处还需大家来补充啊!http://blog.youkuaiyun.com/zhanxinhang药方1 ☞ 必需时刻明白面向对象编程中要扮演的两个角色,一个就是你,类的设计者,一个就是用户,
2011-09-18 00:56:53
30227
32
翻译 C++游戏编程8步云
C++游戏编程8步云 http://www.cplusplus.com/articles/1w6AC542/>第一步 选择游戏库 要想编写一款游戏你必须选择一个游戏库,除非你要编写自己的游戏库。下面列出了一些游戏库的名称和网站,它们都提供了相同的底层功能。
2011-09-17 00:13:55
12134
3
原创 每日微软面试题——day 8(最大的二维子矩阵)
http://blog.youkuaiyun.com/zhanxinhang,及作者:花心龟的扮演者ZhanHang>题:求一个矩阵中最大的二维子矩阵(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5
2011-08-30 05:54:53
16927
11
原创 代码疑云(11)——指针与类型转换
代码:#include #include void swap(int *pa, int *pb){ int temp; temp = *pa; *pa = *pb; *pb = temp;}int main(){ char a[]="BAC
2011-08-26 01:29:54
15007
21
原创 每日微软面试题——day 7(找数组中唯一出现两次的数)
题:假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你
2011-08-23 00:07:32
29285
47
转载 [转]每天读一遍,不久你就会变!
1、别低估任何人。 2、你没那么多观众,别那么累。 3、温和对人对事。不要随意发脾气,谁都不欠你的。 4、现在很痛苦,等过阵子回头看看,会发现其实那都不算事。 5、和对自己有恶意的人绝交。人有绝交,才有至交。 6、学会宽容伤害自己的人,因为他们很可怜,各人都有
2011-08-16 02:06:53
10320
原创 每日微软面试题——day 6(打印所有对称子串)
题:1、如何判断一个字符串是对称的?如a,aa,aba。 2、如何利用2函数找出一个字符串中的所有对称子串?分析: 且看第一个问题判断字符串对称,有以下两种方法。 方法一、使迭代器p1指向头,p2指向尾
2011-08-14 14:27:41
14398
8
原创 每日微软面试题——day 5
题:两个链表,一升一降。合并为一个升序链表。分析:(假设升序的链表为链表1,降序的链表为链表2,p1,p2分别作为它们的迭代器,还有一个合并链表用于存放合并后的数据)法一、最容易想到的且容易实现的就是使两个表都变成升序,然后就是经典的合并排序算法的步骤了,步骤是构建p1,
2011-08-11 03:48:58
12929
18
原创 每日微软面试题——day 4 (最长等差数列)
题:求随机数构成的数组中找到长度大于=3的最长的等差数列输出等差数列由小到大: 如果没有符合条件的就输出[0,0]格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5]要求时间复杂度,空间复杂度尽量小分析:基本算
2011-08-08 00:18:44
17440
12
原创 每日微软面试题——day 3
题:怎样从顶部开始逐层打印二叉树结点数据?请编程。分析:不用递归,定义两个栈(或数组),也能方便漂亮地搞定。首先栈1存储第一层中的节点也就是根节点,然后每次循环,打印栈1中的元素,再将栈1中的节点更新为下一层中的节点。总共循环logn+1次。实现代码(
2011-08-05 02:48:14
12233
28
转载 算法设计方法(以不变应万变)
一、什么是算法算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任
2011-08-03 16:06:12
8966
原创 每日微软面试题——day 2
题:.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。分析:首先54张牌分别用0到53 的数值表示并存储在一个整形数组里,数组下标代表纸牌所在的位置。接下来,遍历整个数组,在遍历过程中随机产生一个随机数,并以该随机数为下标的数组元素与当前遍历到的数组元素进行对换
2011-08-03 02:43:34
11878
7
原创 每日微软面试题——day 1
题:.编写反转字符串的程序,要求优化速度、优化空间。分析:构建两个迭代器p 和 q ,在一次遍历中,p的位置从字串开头向中间前进,q从字串末尾向中间后退,反转字串只要每次遍历都交换p和q所指向的内容即可,直到p和q在中间相遇,这时循环次数刚好等于 字串的长度/2。实现代码:/**author: 花心龟blog:http://blog.youkuaiyun.com/zhanxinhang
2011-08-01 16:40:38
14962
27
原创 自制string类(支持宽字符)
说明:写此代码无其它用途,纯粹为了练练手,写了一点,觉得有必要拿来分享。运用泛型的思想编写,若代码哪有地方你觉得不爽,请不吝指出。string class referencs :http://www.cplusplus.com/reference/string/string/欢迎
2011-07-22 14:05:00
4204
2
原创 windows下配置gcc/g++/gdb + emacs编译环境只需两三步
步一、下载以下安装包并安装mingw-get-inst在线安装包下载地址:http://sourceforge.net/projects/mingw/files/emacs安装包下载地址:http://www.gnu.org/software/emacs/步二、设置环境变量鼠标右
2011-07-21 14:48:29
18428
转载 emacs 快捷键(包括C/C++模式)
符号 C- 意思是按住 Ctrol 键M- 意指 Meta 键 (键盘上若无Meta 键,则可以ALT ESC 键来取而代之)DEL 意指退格键 (不是 删除(Delete) key)RET 意指回车键SPC 意指空格键ESC 意指Escape键TAB 意指
2011-07-20 17:39:06
4663
原创 代码疑云(10)-浅谈联合体
#include #include struct TStudent{ long int ID; union{ char name[10]; char mingzi[11]; }; char dept[17];};int main(){
2011-07-08 23:20:48
2338
1
原创 利用字符实现大数除法运算(纯c实现)
算术四则运算中就数除法的实现最为繁杂,基本思路按照除法笔算的步骤进行,计算商时一位一位的进行,当计算某一位商时则不断地与除数相减,得到的相减次数作为本位商
2011-07-08 23:20:28
7471
1
原创 代码疑云(9)-属于函数作用域里的字串
代码:#include char* GetString1(){ char p[] = "Hello World"; return p;}char* GetString2(){ char *p = "Hello World"; re
2011-07-08 21:45:49
2863
2
原创 代码疑云(8)-逻辑符号间的逻辑
代码:#include int main(){ int a=0,b=0; printf("%d\n",!a||++b||b++); printf("b=%d\n",b); printf("%d\n",!a&&++b&&b++); printf("b=%d
2011-07-08 21:42:31
2712
1
原创 代码疑云(7)-构造函数在类继承时
代码:#include using namespace std;class A{public: A() { Print(); } virtual void Print() { cout<<"A is constructed.\n
2011-07-08 21:39:34
2127
1
原创 代码疑云(6)-头文件的正确定义
代码:头文件print_tools.h#includevoid printStr(const char *pStr){ printf("%s\n",pStr);}void printtInt(const int i){ printf("%d\n",i);}头
2011-07-08 21:15:04
2442
1
原创 代码疑云(5)-类成员函数的thiscall约定
代码:#includeusing namespace std;class A{private: int value;public: A() { value=0; } void coutHello() { cout<<"h
2011-07-08 15:09:04
2191
3
转载 10句编程箴言
导读:原文作者Kevin Pang在kevinwilliampang.com发表一篇《10 Programming Proverbs Every Developer Should Know》。译文由伯乐在线整理编译成《10句编程箴言 每个程序员都应该知道》。文章内容如下:所谓谚语
2011-07-07 17:17:20
1584
原创 代码疑云(4)-类的sizeof值
代码:#includeusing namespace std;class A{};class B{ char a; int b;};class C{ void foo(){};};class D{ virtual void foo
2011-07-06 01:11:43
2596
5
原创 代码疑云(3)-静态字符串
代码:#includeusing namespace std;int main(){ char *str1 = "string"; char *str2 = "string"; if(str1 == str2) cout<<"str1 is sa
2011-07-06 00:37:03
2526
2
原创 代码疑云(2)-c函数调用约定
代码:#includeusing namespace std;void foo(int p1,int p2,int p3){ cout<<"p1="<<p1<<endl <<"p2="<<p2<<endl <<"p3="<<p3<<end
2011-07-06 00:24:41
2735
12
原创 代码疑云(1)-掌握初始化列表
代码:#includeusing namespace std;class A{private: int x1; int x2;public: A():x2(1),x1(x2++){} //初始化列表 void print() {
2011-07-06 00:13:51
3015
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人