链表和数组

数组和链表的优缺点

  • 数组的所有元素在内存地址中必须是在一起的,不能分开。如果需要插入元素,那就要数组中的所有值全部转移到一连串挨着的内存地址中,如果内存中无法提供与数组等同的连接的地址的话,数组将无法进行插入操作。

  • 链表在插入元素时,无需移动元素,链表中的元素可以分开来保存,只需要在元素中记录下一个元素的内存地址。

  • 在需要读取链表的最后一个元素时,不能直接读取,因为不知道他所处的地址,必须先访问元素#1,从中获取元素#2的地址,在访问元素#2获取元素#3的地址,以此类推,直到访问最后一个元素。需要同时读取所有元素时,链表的效率很高:你读取第一个元素,根据其中的地址再读取第二个元素,以此类推。但如果需要跳跃,链表的效率很低。

  • 数组与此不同,你知道其中每个元素的地址。假设有一个数组,包含五个元素,起始地址为0, 那么最后一个元素的地址为4

  • 需要随机的读取元素时,数组的效率很高,因为可以迅速找到数组中的任何元素。在链表中,元素不是靠在一起的,你无法迅速计算出第五个元素的内存地址,而必须从头开始一个一个访问。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 青春划过流年 哀伤如此遥远 光阴抚断琴弦 波斯走向婉转 五月的风雨 温柔又短暂 总在一向前的回还 沿着额尔古纳河的...
    瓦城阅读 1,697评论 6 0
  • 所有的女人都希望自己老公对自己百般宠爱。 有一个女人,很勤劳,总是不停地干活。这两天,她天天用铁针子织鞋子,把手扎...
    兰儿悠悠阅读 4,649评论 2 20
  • 螃蟹在剥我的壳,笔记本在写我。 漫天的我落在枫叶上雪花上。 而你在想我。
    WU_拖拖阅读 1,319评论 0 1

友情链接更多精彩内容