自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(31)
  • 资源 (7)
  • 收藏
  • 关注

原创 数组的引用

转载请注明原出处 http://blog.csdn.net/draculaw 或者 http://draulaw.javaeye.com msn: [email protected]我们知道 给一个函数传入一个数组的时候需要传入一个附加的参数 用来标示数组的大小void print(const unsigned short * const p, const size_t n) {

2008-05-12 22:36:00 354

原创 如何使VC2008E支持ATL/WTL

微软发布了最新的vc2008, 像05一样他也发布了Express版本供大家下载试玩, 不过很郁闷的是这个版本竟然不支持ATL 与MFC, 而我最近对ATL/WTL很有兴趣。怎么办呢?自己DIY一个支持ATL/WTL的VC2008E吧。首先 我们发现 他这里面没有ATL的源文件和lib 于是我们去其他地方找到了(找一个装着带有ATL的VC) include/atlmfc文件夹下面就是了把它拷过来,

2008-04-25 23:05:00 536

原创 红黑树

 关于红黑树的定义:红黑树的定义 1 节点不是红的就是黑的2 根节点和叶子节点为黑的3 红色节点的父亲节点是黑的4 从根节点到叶子节点 走过的黑色节点的数目是相同的红黑树是一种比较复杂的数据结构 复杂的地方在于他的插入和删除后的平衡问题在插入时 的平衡:1 插入的是红色的节点2 如果它的父亲是黑色的 就做第八步3 如果它的父亲是红色的而且它有叔叔节点也为红色的 那么把他的父亲和叔叔节点

2007-12-02 22:05:00 384

原创 Best Fit与 First Fit

内存分配的两种方式 UNIX System V的malloc使用的是 first fit 为此 我一直觉得很奇怪 为啥 为啥 有best不用 为啥要用那个first 奇怪为此我傻瓜了好久 今天 项目空闲时 想明白了 呵呵因为 我们不一定能找到最适合的大小的内存 可能每次还都是会有些碎片的 如果使用best fit 万一每次都没有找到的话 那么每次产生的碎片都是最小的 这样的碎片可能对以后都没有什么

2007-12-02 12:29:00 901

原创 汇编学习 1 寄存器的作用 寻址方式

首先 是寄存器的介绍 寄存器名     说明                            功能 eax:            累加器                 加法乘法指令的缺省寄存器, 函数返回值 ecx             计数器   REP & LOOP指令的内定计数器 edx 

2007-11-15 20:18:00 818

原创 boost::type_traits

与STL的实现不同 在boost中 他们使用的是模板片特化来实现的type traits 基本思想就是 默认大部分都不支持某种特性 然后 当某个类型支持时就为他特化一个类 支持这样的特性 感觉这样写的话 在特化的时候会不会代码会比较多呢 ... 具体就是 template class something { // 在这里写对广大的类的操作 } 然后对于特殊的类型 譬如说 int templa

2007-11-13 23:13:00 581

原创 STL Type Traits

 模板的引入 使c++产生了泛型的算法 泛型的容器 这两个是个好东西 但是在将两项技术结合的时候产生了一个问题 就是在写程序的时候要暴露对象的类型 就像这个样子 : template vector::iterator find(const T& ) { ........ } 而如果暴露了类型的话 那么就不能写一段代码而完成问题了 必须为每种容器都写出相同的算法 怎么办呢 可以在find中传

2007-11-13 23:09:00 407

原创 使用模板实现转换测试

template class Conversion {     typedef char Small;     class Big{char dummy[2];};     static Small Test(U)    {   }       static Big Test(...)  { }       static T MakeT()  {  }     public:    

2007-08-14 16:29:00 543

原创 善用STL,节约代码量

在csdn上大家寫出了各種方式-@-可是... 都太復雜了 如 1 : void replace(char *pInput, char *pOutput, char *pSrc, char *pDst) { char *pi, *po, *p; int nSrcLen, nDstLen, nLen; pi = pInput; po = pOutput; nSrcLen = st

2007-08-07 09:39:00 481

原创 bigendian與littleendian的兩種測試方式

其實只需要這樣一段代碼     union UA     {         int a;         char c[4];     }u;     u.a = 0x12345678;     cout                            如果輸出的第一個為 78那么就是小端 如果是12 就是大端。 但是 有時候 需要在編譯期 確定

2007-08-06 11:44:00 493

原创 將foobar的播放列表中的文件整理起來的perl代碼

 # The readfpl accept a files path while is fpl(foobar play list), # and return a list which holds all the filepath sub readfpl {     my @files;     my @chunks;     my $index = 0;     open(INP

2007-08-03 17:28:00 536

原创 Overlapped I/O 與 I/O Completion Port Model

Overlapped I/O是Windows對I/O操作的一個封裝 他可以用在文件,socket等很多地方 用來從I/O設備讀寫數據 一般來說 用BSD socket的話 就需要為讀寫專門起一個線程 由自己處理讀寫的操作。這樣不能說不好,但是如果有人幫處理過了可以減輕負擔,那就太好不過了 于是MS就推出了Overlapped I/O這個操作模式 它的本質也是操作系統起一個線程來處理讀寫。但是省去了

2007-07-30 14:51:00 694

原创 Berkeley Socket I/O Models

Blocking I/O Model 阻塞模式 最简单的模式 函数一直等着直到有数据过来 基本上IO操作都会用一个Work Thread来进行Nonblocking I/O Model 非阻塞模式 不停的查询是否有数据传来 并进行操作 I/O Multiplexing Model多路复用模式 使用select等到他返回后 然后调用相关的函数来处理相关的 IO

2007-07-30 14:50:00 586

原创 今天写的一道题 关于算法设计的一个提示

 其实这个题目也很简单 有很多种做法...就是给一个array你 然后你找出 i,j使从第i个加到第j个最大就好了啊最简单的算法就是两个for 算下来不到n^2的时间复杂度 可是还有更快的算法哦首先 可以使用分治算法 这样的算法大概时间复杂度是 n*lg n, 但是这样还不是最好的最好的其实是把前一个状态储存下来然后进行比较 这个算法时间复杂度只有n哦 很快的呢先不要看

2007-07-30 14:44:00 420

原创 malloc和calloc的區別

Both the malloc() and the calloc() functions are used to allocate dynamic memory. Each operates slightly different from the other. Both the malloc() and the calloc() functions are used to allocate dy

2007-07-30 14:44:00 420

原创 BinarySort 我覺得比較正確的版本 有誰能給我找出它的錯么

記得Knuth教授說過 BinarySearch的概念在1946年被引入 而直到1962年才有一個無錯的版本出現.... 我自己寫了一個BinarySearch 希望大家來找茬 /***************************************************************************** * Function   : BinarySearch  

2007-07-30 14:42:00 299

原创 手機輸入法的一個算法--哈希真是一種好算法

手機的英文智能輸入法其實很簡單的想法 使用哈希來實現 呵呵 1       2       3 ,.    abc    def 4       5       6 ghi    jkl    mno 7       8       9 pqrs tuv   wxyz 譬如說輸入 43 進入這個哈希里面去尋找 key[43] -> [if]

2007-07-30 14:41:00 642

原创 給一個數組 a[n] = {0, 1, 2, 3, 4, 5, 6} 一個k=3 將 a[n]變為 a[n] = {3, 4, 5, 6, 0, 1, 2}

// 給一個數組 a[n] = {0, 1, 2, 3, 4, 5, 6}  一個k=3  // 將 a[n]變為 a[n] = {3, 4, 5, 6, 0, 1, 2}// 具體的算法是 // 先將 a[n] 變為{2, 1, 0, 6, 5, 4, 3} // 再把 a[n] 逆轉了void swap(int *a, int *b){    int t = *a;    *a = *b;  

2007-05-23 10:26:00 532

原创 給出一個數組a[n] 求 第k大的值

// 給一個數組a[n]求其中 第k大的數值的算法// 基本的思想就是 使用quicksort的一個變種// 每次進行完part后 判斷它的返回值 是否為k// 如果為k 返回 // 如果大于k 則在返回的位置的前面找// 如果小于k 則在返回的位置的后面找int part(int* a, int start, int end){    int t = a[end-1];    int e = -

2007-05-23 10:15:00 612 1

原创 加强的链表

#ifndef _LINKEDLIST_H_#define _LINKEDLIST_H_#include using namespace std;class EmptyListException : public logic_error {public: EmptyListException(const string& what_arg ) throw() : logic_error

2007-04-07 18:26:00 421

原创 KMP 算法

#ifndef _KMP_H_#define _KMP_H_templatevoid prefix(T* p, int m, int* next){ int k = -1; for(int i=0; i { while(k>-1 && p[i]!=p[k]) k=next[k]; if(p[i]==p[k+1]) next[i]=k+1;

2007-04-07 18:24:00 577

原创 BigNum Add

#ifndef _ADD_H_#define _ADD_H_ #include #include #include using namespace std; class BigNum; ostream &operatoristream &operator>>(istream &is, BigNum &bn); BigNum &operator+(BigNum &la, Big

2007-04-07 18:24:00 378

原创 算法 排序算法的幾個實現 自己寫的

/////////////////////////////////////////////////////////////////////////////////// The Sort ////

2007-04-07 18:23:00 845

转载 图的算法

#include // 常量定义: const int maxV = 100 ; const double Inf = 1e100; // const int Inf=2000000000; // Graph类定义: template class GraphMatrix { int v; // 顶点数 i

2007-01-31 18:31:00 501

原创 遲來的年終總結

時間刷刷刷的就那麽飛過了我曾經夢想仗劍走天涯 去看一看這個世界的繁華小小的天有大大的夢想 以爲自己可以一步一步往上爬可是 心裏的浮躁還是那麽大其實 2006 工作以來 感覺世界對我還是不錯的可惜 我自己卻不曾爭氣每一件事情都是我想到了 然後它就發生了然後我就倦怠了它就按我的想法走了然後又有新的我期待的事情發生呵呵機會 就是被我這麽浪費掉了新的一年 或許我不該這麽浪費了不然 真的如大家說的 畢業時

2007-01-11 15:57:00 455

转载 Inside memory management

The choices, tradeoffs, and implementations of dynamic allocati

2006-12-22 10:46:00 616

转载 MMS開發備忘錄

彩信库(mmslib)设计备忘录转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-12-19   彩信库(mmslib) 确实有一点复杂,尽管有两位高手指点,还是花了12个工作日才完成它的设计、编码和测试,写了超过4000行的C代码(除去测试程序、注释、空行和头文 件)

2006-12-22 10:29:00 1524 18

转载 电脑围棋中的人工智能技术

电脑围棋中的人工智能技术  摘要:本文通过研究几个最出色的电脑围棋程序,从认知科学的角度介绍了电脑围棋,并特别针对电脑围棋编程人员(或有意投身于此的程序员)揭示围棋作为一个认知科学研究领域的日益增长的重要性。对手谈,Go4++,Many Faces of Go,Go Intellect 和Explorer几个目前最优秀的电脑围棋程序,我们概括了它们用到的人工智能技术,必须面对的关键性挑战和博弈树搜

2006-12-19 16:30:00 768

转载 两个c++网站

http://www.parashift.com/c++-faq-lite/index.htmlhttp://www.informit.com/guides/guide.asp?g=cplusplus&rl=1

2006-12-15 15:03:00 660

转载 Emacs 基本命令

C-p    向上移动一行                      C-n    向下移动一行C-f    向前移动一个字符                 C-b    向后移动一个字符M-f    向前移动一个字(word)           M-b    向后移动一个字C-a    移动到行首                          C-e    移

2006-12-14 14:15:00 573

转载 undo redu

今天讲讲利用MO实现编辑过程中的Undo、Redo的一种思路,利用临时图层实现图层编辑过程中的Undo,Redo。今天举得例子比较简单,就是增添要素和删除要素的撤销和重做(假设编辑过程中点线面图层每类只有一个)。1. 建立临时图层临时图层是在每次程序加载的时候创建,利用shapefile文件,包含4个字段,分别表示操作标识,操作流水号,关键字段,字段内容,当然为了实现点线面各个图层的操

2006-10-20 14:00:00 664

jinja 2.71

jinja 2.71 python web

2014-01-03

werkzeug 0.94

werkzeug 0.94 python web

2014-01-03

flask python

0.10 python web framework

2014-01-03

Code Complete

入门级的好书 如果想写专业的代码 最好看看 理解理解 应用到平时的生活中

2009-07-10

BeautifulArchitecture

Beautiful Architecture

2009-03-23

web开发敏捷之道 第三版 beta

web开发敏捷之道 第三版 beta ROR开发最好的书籍

2008-12-30

实现模式(英文版) Kent Beck

实现模式 kent的书 简洁明了 最好看过设计模式 敏捷等书后来看

2008-12-30

空空如也

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

TA关注的人

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