有时候需要在内存中存储一系列元素。比如待办事项,用数组还是链表呢?
数组意味着所有待办事项在内存中都是相连(紧靠在一起)。
链表中元素可以存储在内存
链表每个元素都存储了下一个元素地址,从而使得一系列随机内存地址串在了一起。
只要有足够内存空间,就能为链表分配内存。
数组优势当同时读取所有元素时,链表效率很高,读第一个,读第二个,以此类推。但当你需要跳跃,链表效率就很低了。
数组,则很方便读取每一个元素内容。因为知道第一个,就知道了所有地址。它们是连在一起。
数组和链表操作时间复杂度插入多,读取少。用链表。插入少,读取多。用数组。
在中间插入数据,哪个更好呢链表更方便一些,只需要修改它前面那个元素指向地址就可以了。
使用数组时,必须将后面元素都向后移动。如果空间不足,还要重新复制新空间。
删除数据,哪个更好呢也是链表更好一些。只需要将前一个元素指向地址更改即可。使用数组,则必须将后面元素都向前移动。
但是实际应用中,数组用更多一些。因为它支持随机读取。
本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7615467.html,如需转载请自行联系原作者
试试长按二维码加关注
咨询
1004113364