内存C中的IP查找表
我目前正在尝试使用libpcap和各种C应用程序并尝试完成以下操作。在程序初始化时,我想从文件加载IP并将它们存储在内存中。当我收到一些数据包详细信息进行处理时,我想将IP与加载到内存中的IP集进行比较。
在C中实现此功能的最佳方法/数据结构是什么?我需要适应列表增长和高效匹配,所以我觉得简单的查找数组将是一个错误的解决方案。救命?
没有找到相关结果
已邀请:
3 个回复
悲帽慑彤电
数组。 加载数据时,将每个IP丢入阵列,使用
根据需要增长。请记住使用理智的增长模式,每次耗尽时将分配的长度加倍是常见的,并且可能会很好地工作。 加载后,使用简单的
调用对数组进行排序。 然后,您可以使用
快速搜索阵列。 由于这只使用标准函数,因此代码非常小,因此易于理解和快速编写。没有依赖关系,没有花时间追逐理智的库,或者编写自己的高级数据结构。但由于它使用二进制搜索,因此速度非常快。
鞘垒飘
祁澈盘哼颗