c中的数据结构,用于快速查找/插入/删除整数(来自已知的有限域)

时间:2010-05-23 17:20:43

标签: c data-structures

我正在写一部基于手机的游戏。我对支持快速(如果可能的话,分摊O(1))插入,查找和删除的数据结构感兴趣。数据结构将存储来自域[0,n]的整数,其中n是提前知道的(它是常数),n相对较小(大约为100000)。

到目前为止,我已经考虑了一个整数数组,其中“ith”位设置如果集合中包含“ith”整数(所以a [0]是整数0到31,a [1]是整数32至63等)。

在c中有更简单的方法吗?

2 个答案:

答案 0 :(得分:4)

你的想法简单而有效 - 假设你有100000/8 = 12.5 KB可以玩,那么我没有看到寻找其他解决方案的任何意义。

答案 1 :(得分:1)

平面阵列可以,但是会花费100,000比特。 另一种可能性是“哈希集”。