是否有可能有一个链表,列表中的每个元素都是自己的数组?

时间:2014-11-21 11:09:43

标签: arrays pointers

扩展标题


我们正在学习链接列表,我想知道将链接列表连接在一起的链表是否有用。我们在谈论延长阵列的效率低下,我认为这是可能的。


示例: 假设你有int值存储4个字节用于int和4个字节用于指针


在地址200处,您有阵列A,其中包含数组中的24个元素以及指向下一个数组地址的指针。

编辑为清晰起见:阵列A将占用100个字节,最多可达300个地址。在300到548之间还有其他数据。我想让数组A更长,但是取300的地址,所以它转到548的下一个空闲空间。然后,数组A得到一个指向地址548的指针,以便它可以有更多的元素

在地址548处,您有阵列B,其中包含11个元素和一个指针 使用指向数组B的数组A指针创建链接列表 那么通过正常而不是顺序搜索数组是否容易,使它更快或者我完全错了?

提前致谢

2 个答案:

答案 0 :(得分:0)

根据您的要求,出于某些原因,此设计可能更有效。 1.您不必重复分配新的内存空间。这可以缓解内存碎片问题。 2.内存中的数据位置更好,从而提高缓存命中率。

类似的设计是B +树。你可以看看B +树是如何工作的。

答案 1 :(得分:0)

简单的答案是"是"。我们并没有立即明确建议您使用哪种语言,但这当然是可能的。

不清楚的是它是否更有效 - 这实际上取决于你想要做什么。如果每个阵列都相同,那么为什么它们会被分解和链接?这是否允许并行搜索?