基础知识练习
士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ——菜根谭
读者:什么是散列法?
小林:散列法是把字符串映射到整数的处理, 通常是到一个相对小的范围。一个 “散列函数” 映射一个字符串 (或其它的数据结构) 到一个有界的数字 (散列存贮桶),这个数字可以更容易的用于数组的索引或者进行反复的比较。明显的, 一个从潜在的有很多组的字符串到小范围整数的映射不是唯一的。任何使用散列的算法都要处理 “冲突” 的可能。有许多散列函数和相关的算法被开发了出来; 一个全面的说明已经超出了本文的范围。
读者:由一个日期, 怎样知道是星期几?
小林:可以用 mktime() 或 localtime()
也可以参考这个样例代码:
int dayofweek(int y, int m, int d) /* 0 = Sunday */
{
static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
y -= m < 3;
return (y + y/4 – y/100 + y/400 + t[m-1] + d) % 7;
}
正文完