何时在数组/数组列表上使用链接列表?☆☆☆

作者 : IT 大叔 本文共464个字,预计阅读时间需要2分钟 发布时间: 2020-10-13

主题:数组链接列表

回答:

在以下情况下,链表优于数组

  1. 您需要从列表中进行固定时间的插入/删除操作(例如,在实时计算中,时间可预测性至关重要)
  2. 您不知道列表中有多少个项目。对于数组,如果数组太大,可能需要重新声明并复制内存
  3. 您不需要随机访问任何元素
  4. 您希望能够在列表中间插入项目(例如优先级队列)

在以下情况下最好使用数组:

  1. 您需要对元素进行索引/随机访问
  2. 您可以提前知道数组中元素的数量,以便为数组分配正确的内存量
  3. 依次遍历所有元素时需要速度。您可以在数组上使用指针数学来访问每个元素,而您需要基于指针为链接列表中的每个元素查找节点,这可能会导致页面错误并可能导致性能下降。
  4. 内存是一个问题。填充的阵列比链接的列表占用更少的内存。数组中的每个元素只是数据。每个链接列表节点都需要数据以及指向链接列表中其他元素的一个(或多个)指针。

数组列表(如.Net中的数组列表)为您提供了数组的好处,但可以为您动态分配资源,因此您不必担心列表大小,您可以轻松删除任何索引的项目,而无需付出任何努力或重新整理。周围的洗牌元素。在性能方面,数组列表要比原始数组慢。

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 何时在数组/数组列表上使用链接列表?☆☆☆

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论