Xiangism

从一个无知角落里开始,蹒跚学步,一个未知到另一个未知,在跌跌撞撞中越走越快,越走越远,最后宇宙也为之开源。对于探索者来说,最后他们的思想总是变得和自己的足迹一样伟大。
  博客园  :: 首页  :: 联系 :: 管理

2010年5月2日

摘要: 最近在看了大学算法的教程后,深深地理解到了递归算法在某些情况下的局限性,于是就想到了两年前自己做的汉斯塔的项目中的递归算法。能否将其变成循环算法呢?为了简化,我是在VC++的控制台下来完成这个算法。为了让程序更加清晰,定义了两个类Peg(柱子类),Disk(盘子类),当然内容就简化多了。类图如下:P... 阅读全文

posted @ 2010-05-02 18:34 Xiangism 阅读(1602) 评论(6) 推荐(0) 编辑

2010年4月30日

摘要: 自己先后分别在《编程之美——微软面试心得》和《编程珠玑》中看到了这样的一个经典的例子:在线性时间内求向量的任何连续子向量中的最大和。本来是O(n3)的算法,经过一步步的改进后,最终得到了O(n)的算法,这个思维的过程实在是令人叹服。这看完后个例子后,试问了下自己,如果在没有任何提示的前提下,让自己想... 阅读全文

posted @ 2010-04-30 12:18 Xiangism 阅读(656) 评论(2) 推荐(0) 编辑

2010年3月8日

摘要: 最近在网上下了本C#的电子书《More Effective C#》. 不知大家有没有注意,我取的文件名为CSharp,而不是C#!!这就是我要说明的问题,当一个chm文件中含有字符 '#' 的时候,就不能正常显示右边框中的内容,显示为一块空白。而当去掉 '#' 字符后,就可以显示了,这就是为什么一些网友下载了电子书后,不能正常显示的原因。 我分别在XP系统和WIN7系统下做个试验,发现都会有这个问... 阅读全文

posted @ 2010-03-08 22:32 Xiangism 阅读(415) 评论(8) 推荐(1) 编辑

2009年12月19日

摘要: 在MFC单文档程序中,有两个类是于用户界面相关——CFrameWnd,CView。这两个类能够响应的消息表面上完全一样,但有些消息只能在CView类中响应,比如ON_WM_LBUTTONDOWN(鼠标左击)消息就只能在CView中有实际的效果,因为CView类对象“永远”覆盖在CFramwWnd类对象上。在里我只所以在永远上加冒号,就是因为在某些情况下,我们可以改变这种覆盖状态。在写《C#、MFC、Win32——移动无标题窗口》http://www.cnblogs.com/_xbc/archive/2009/12/17/1626770.html这篇随笔中,无意中发现了种变态的方法让CFrame 阅读全文

posted @ 2009-12-19 21:26 Xiangism 阅读(933) 评论(0) 推荐(0) 编辑

摘要: 在本人的随笔 《在c#中用指针操作图片像素点》中,介绍了两种不安全的方法,优势就在于时间效率上的提升,但是C#毕竟是安全性的语言,这里就介绍一种执行效率很高的安全方法——前几天在图书馆里发现了一本用C#讲图形学的书,其中就介绍了一种时间效率比指针法稍低的安全方法Code highlighting p... 阅读全文

posted @ 2009-12-19 13:34 Xiangism 阅读(2021) 评论(2) 推荐(1) 编辑

2009年12月18日

摘要: 相信大多数朋友写出贪食蛇游戏没有太大的困难,但若要实现蛇自动吃豆的功能,就要花一番心思了。本人自动游戏的第一个版本中有两个明显的错误会导致蛇进入死胡同,或者不能从死胡同中走出来。下面先介绍下实现的思路, 这是程序的整体架构:这个程序既可以手动也可以切换为自动其中frmGame是游戏的主窗口,在... 阅读全文

posted @ 2009-12-18 11:11 Xiangism 阅读(2982) 评论(30) 推荐(3) 编辑

2009年12月17日

摘要: 本篇介绍如何分别在c#,MFC,WIN32程序中移动无标题窗口C# C#中总结起来有两种方法: 1.自己控制,鼠标左键点击、移动时窗体的状态,代码见下: Point offSet; privatevoid frm_MouseDown(object sender, MouseEven... 阅读全文

posted @ 2009-12-17 23:16 Xiangism 阅读(1995) 评论(1) 推荐(1) 编辑

2009年12月13日

摘要: 笔者首先接触的是C#语言,然后再学的Win32、MFC。在转型的学习过程中,遇到了一些令人费解的问题。比如,一些系统级的功能,在C#中实现后,却花了好长一段时间才学会在Win32、MFC中实现。下面将整理一些常用功能在这三种环境下的实现方法在这篇中先介绍如何设置系统级热键:C# 第一步,先在类的级别中申明两个API函数,///注册热键[DllImport("user32.dll")]privatestaticexternboolRegisterHotKey(IntPtrhWnd,intid,uintfsModifiers,Keysvk);"user32.dll&q 阅读全文

posted @ 2009-12-13 20:14 Xiangism 阅读(717) 评论(1) 推荐(2) 编辑

2009年9月26日

摘要: “中国象棋将帅问题”这一小节中,最后给出这样一段代码——[代码]自己觉得这段代码用结构体封装了两个变量,这样做只能算是小聪明。不过,自己从这种做法中得到启发,可以用一个int变量的十位和个位来“封装”两个变量,具体的代码实现如下——[代码]不过,这种做法和文中给出的一段代码有点相似了[代码] 阅读全文

posted @ 2009-09-26 00:04 Xiangism 阅读(391) 评论(0) 推荐(0) 编辑

2009年9月15日

摘要: 前几天用递归的方法实现了——从数组中返回所有指定长度的子数组。http://www.cnblogs.com/xiangism/archive/2009/09/06/1561398.html后来在看《编程之美》中的一篇文章——《求二进制数中1的个数》时想到另一种比较好的方法,就是用二进制数来实现。比如要从{1,2,3,4,5}中提取所有长度为2的数组(不考虑顺序),可以先用排列的知识算出子数组有多少个,比如这题C25=10个,然后再访问所有从0到9之间的数,当然是用二进制的形式来访问,如果这个二进制数中1的个数为2,那么就在原数组中按照这两个1的位置来取值,从来可以得到一个子数组。那么在遍历所有 阅读全文

posted @ 2009-09-15 21:54 Xiangism 阅读(572) 评论(0) 推荐(0) 编辑