扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
我们之前学习了顺序存储结构线性表,虽然它很强大。但是存在一个不算是缺点的缺点:那便是在插入和删除时。需要移动大量的元素。那么该如何解决这个问题呢?我们直接会想到的是在数据元素之间空出位置,那么在后面的插入时便会很方便。那么此时便会出现一个问题:究竟留出多少空间合适呢?有一个极端是我们需要插入的是 n 个元素。换而言之,这个空间需要预留无穷大,那么这个肯定是不现实的。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、做网站、张掖网络推广、微信小程序定制开发、张掖网络营销、张掖企业策划、张掖品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供张掖建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com此时便出现了我们本节要讲的内容:链式存储。我们来看看链式存储的定义:为了表示每个数据元素与直接后继元素之间的逻辑关系;数据元素除了存储本身的信息外,还需要存储直接后继的信息。如下
我们来看看链式存储逻辑结构,它是基于链式存储结构的线性表,每个结点都包含数据域和指针域。数据域是指粗出数据元素本身;而指针域是指存储相邻结点的地址。关系如下所示
顺序表指的是基于顺序存储结构的线性表,链表指的是基于链式存储机构的线性表。链表分为三种:a> 单链表,即没和结点只包含直接后继的地址信息;b> 循环链表,即单链表中的最后一个结点的直接后继为第一个结点;c> 双向链表,即单链表中的结点包含治脚气前驱和后继的地址信息。
下来我们来看看链表中的基本概念:A、头结点。链表中的辅助结点,包含指向第一个数据元素的指针;B、数据结点。链表中代表数据元素的结点,表现形式为:(数据元素,地址);C、尾结点。链表中的最后一个数据结点,包含的地址信息为空。那么单链表中的结点是怎样进行定义的呢?如下
我们来看看单链表中的内部结构,如下
头结点在单链表中的意义是:辅助数据元素的定位,方便插入和删除操作;因此,头结点不存在存储实际的实际数据元素。那么在目标位置处是如何插入数据元素呢?1、从头结点开始,通过 current 指针定位到目标位置;2、从堆空间申请新的 Node 结点;3、执行操作:node->value = e; node->next = current->next; current->next = node; 同理,在目标位置处删除数据元素:1、从头结点开始,通过 current 指针定位到目标位置;2、使用 toDel 指针指向需要删除的结点;3、执行操作:toDel = current->next; current->next = toDel->next; delete toDel;
通过今天对线性表的链式存储结构的学习,总结如下:1、链表中的数据元素在物理内存中午相邻关系;2、链表中的结点都包含数据域和指针域;3、头结点用于辅助数据元素的定位,方便插入和删除操作;4、插入和删除操作需要保证链表的完整性。
今天七夕情人节,祝大家七夕快乐!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流