最近开始看leveldb的代码,周末看了下skiplist,详细介绍可以看http://blog.xiaoheshang.info/?p=248。基本原理就是空间换效率,多用几个指针来换取查找插入效率。自己也尝试写了下,对比了下leveldb的代码,内存控制没有leveldb实现的好,leveldb申请的时候基本上都是以block为单位申请空间,这样可以减少内存碎片,空间上每个节点就只会申请指定level个数的指针。以前一直记混淆 const char *p , char const *p 和char * const p的区别,前两者代码指向的内容不可变,后者指向的指针不可变。