【发布时间】:2013-06-20 20:10:54
【问题描述】:
我是 C 新手,我有一个需求,我需要根据“e-mail id OR ipv4/6-address”进行快速查找
我的结构应该是这样的
{
enum_usr_type ;/*(which can be either e-mail type or ip-address type)*/
char_id_data ; /*(which can be either a email-id string OR ipv4/6 ip-address string) */
}
整个数据库的大小预计为1K。
任何人都可以建议我应该如何去做(也许是 hash table ,但我不熟悉)。
【问题讨论】:
-
通过连续数组线性搜索。
-
是的,在这种情况下,哈希表是一个很好的解决方案。您有什么具体要求/问题吗?
-
@KerrekSB 实际上,1000 个条目并不是很多数据。
-
1K?甚至不要开始考虑“快速”,而要“简单”。这是不值得的。
-
如果类型是IP地址,还是字符串吗?就像
"192.168.1.2"这样的字符序列,而不是像192, 168, 1, 2这样的四个字节?如果是这样,请忽略差异并使用任何字符串散列函数。
标签: c string hash hashmap hashtable