源:http://zhidao.baidu.com/link?url=sD6oTsmQ3wDXsYb-AVK_rWAk_q0NMgMPZrXrLRhoLcLpIGkjrNwd57kTrvdSuO6nw3IQGARE4ImH6paDrdBEqa
评:
两个处于同一优先级,结合方向是自右向左
其实这样只是当++在变量前面的时候才处理同一优先级,当++在变量之后时,你可以将++的优先级看成最低级的,比逗号运算符的优先级还低
PS:
先进行*p,运行完后再进行++运算,因为这个时候的++在变量后面,所以其优先级最低
看到有人 写了个 hash算法 以后有机会测试下 其冲突度
注: java string hashcode 就是这个算法
http://blog.youkuaiyun.com/haoel/article/details/2863 回复 coc
typedef struct _hTab{
hLinks* link; /* 一个链表 */
int num; /* 成员个数 */
int size; /* 表的尺寸 */
} hTab;
unsigned long getHashIndex( const char *key, int nTableLength ){
unsigned long nHash = 0;
while (*key) {
nHash = (nHash<<5) + nHash + *key++;
}
return ( nHash % nTableLength );
}
评:
两个处于同一优先级,结合方向是自右向左
其实这样只是当++在变量前面的时候才处理同一优先级,当++在变量之后时,你可以将++的优先级看成最低级的,比逗号运算符的优先级还低
PS:
先进行*p,运行完后再进行++运算,因为这个时候的++在变量后面,所以其优先级最低
看到有人 写了个 hash算法 以后有机会测试下 其冲突度
注: java string hashcode 就是这个算法
http://blog.youkuaiyun.com/haoel/article/details/2863 回复 coc
typedef struct _hTab{
hLinks* link; /* 一个链表 */
int num; /* 成员个数 */
int size; /* 表的尺寸 */
} hTab;
unsigned long getHashIndex( const char *key, int nTableLength ){
unsigned long nHash = 0;
while (*key) {
nHash = (nHash<<5) + nHash + *key++;
}
return ( nHash % nTableLength );
}
本文探讨了C语言中的一种哈希算法实现方式,并详细解释了如何通过位移和加法操作来计算键值对应的哈希索引。此外,文中还提供了一个简单的哈希表结构定义及插入元素的方法。
1083

被折叠的 条评论
为什么被折叠?



