Author Archives: coder4

算法技术手册 - 排序 - 插入排序

插入排序:

类似洗牌,将从1~N的数字分别插入到合适的位置,当然对于数组来说,需要做相应的移动。基础的方法是依次挪动,较为快捷的方法是memmove。

需要说明的是,按照Linux的man手册,memmove是支持内存overlap的,即可以部分重叠,函数内部会处理好其他的事情,因此类似书上的先移动到buffer,再从buffer移动到另一个位置是没必要的!
#include <stdio.h>
#include <string.h>

typedef[......]

继续阅读

Linux老版本下gettid的not declared问题

Linux对线程的支持有点土啊,今天在一台Turbo Linux 13的机器上,使用gettid死活提示:
gettid was not declared in this scope....

网上参考了这篇文章

对于比较老的版本,需要借助系统调用才能完成获取线程ID……
#include <sys/syscall.h>
#define gettid() syscall(__NR_gettid)[......]

继续阅读

在Python中调用C++,使用SWIG

SWIG:Simplified Wrapper and Interface Generator,顾名思义,就是将C/C++包装为其他高级语言的Wrapper工具,非常好用。

该项目历史悠久(创始于1995年!),且一直非常活跃,目前最新版本为2011年5月发布的2.0.4。

1、安装SWIG
wget http://prdownloads.sourceforge.net/swig/swig-2.0.4.tar.gz
tar -xzvf swig-2.0.4.tar.gz
cd[......]

继续阅读