我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 直接随机存取 >

线性链表不能随机存取元素的原因

归档日期:07-16       文本归类:直接随机存取      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部如果明白线性链表的原理,自然就知道为什么不能随机存取。先举栗子:线性链表:存储地址(物理) 0x11 0x52 0x02 0xe3存放元素(逻辑) a- b- c- d

  如上,线性链表就是一组前元素后面有可能拖着一个元素的数据结构。线性链表所存放的元素在物理空间上一般不是相邻的,他们只具有逻辑上相邻的关系,因此你只能通过前一个元素与后一个元素之间的关系找到后一个元素,而这个关系就是你在前一个元素中存放的后一个元素的地址。

  跟生活中比较相似的事物结合,如一串佛珠、手链,柱子是一颗颗串起来的,珠子就像是链表中的元素,把珠子串起来的线就是他们之间的逻辑关系,记住只是逻辑关系而不是物理关系。只要在逻辑上符合就是线性表,跟物理结构没有关。

  与数组比较,数组是随机存储结构,那么为什么数组能随机存取呢?因为数组是一块物理上相连的存储空间,只要知道该数组的首元素的地址,之后的元素在此基础上加位置号,就可以找到想要的元素,这就是随机存取,不需要先找a,再找b,最后找到c,而是直接0x10(数组开始位置)+2 就是c元素。

  线性表通常没有这种物理上的关系,因此只能根据前面元素给的线索一个个去找。

本文链接:http://clinicapetrer.com/zhijiesuijicunqu/277.html