uthash实现分析

uthash简介详见http://troydhanson.github.io/uthash/userguide.html,因为毕业论文中对其作了介绍,为避免查重率上升,这里不再作说明。uthash全部使用了宏对一些函数作了实现。下面对其涉及的数据结构以及增、删、查找与遍历的流程作出介绍。数据结构uthash一共有三个数据类型,分别是UT_hash_handle、UT_hash_bucket与UT_

- 阅读全文 -

[译文] 哈希算法

翻译自http://www.eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx在二叉搜索树中,我们通过对集合中数据进行排序然后对比Key使得查找数据很快,由二叉树的结构可计算出查找的时间复杂度最大为O(log N)。但是当遇到退化树(树中只有一个叶子结点,每个非叶子结点只有一个孩子。一棵退化树等价于一个链表)的几率增大时,二叉搜

- 阅读全文 -

accept: Invalid argument

如果文件描述符没有填写错误,最大的可能性就是第3个参数没有初始化。可以像下面这样进行初始化: INT32 clifd; struct sockaddr_in cliaddr; socklen_t cliaddrlen = sizeof(struct sockaddr); clifd = accept(listenfd, (struct sockaddr*)&

- 阅读全文 -

git启用代理

启用代理#没有密码git config --global http.proxy 10.167.32.133:8080git config --global https.proxy 10.167.32.133:8080#使用密码git config –global http.proxy http://user:password@10.167.32.133:8080git config –global

- 阅读全文 -