数据结构
文章平均质量分 88
Lamar Carpenter
这个作者很懒,什么都没留下…
展开
-
静态链表详解
静态链表是分配一整片连续的内存空间,各个结点集中安置,而不是像单链表那样,每个结点在内存中分散存储。如上如的存储方式,优点类似于顺序表,但是在这一整片连续的内存空间中,元素不是按照顺序存储的。而是可以打乱顺序存储,这时候就需要将结点分为两个部分,一个部分存储数据元素,另一个部分存储下一个结点所在的下标(称其为游标),比如头结点存放的下标(游标)为2,代表在2的位置上是静态链表的第一个真正存放数据的结点。addr+8*2(这里假设数据元素和游标的大小都为4B)。//数组a作为静态链表}}...原创 2022-07-18 19:45:48 · 9116 阅读 · 6 评论 -
循环双列表
其实就是在单链表和双链表的基础上进行了一点小小的改进。原创 2022-07-16 23:49:08 · 515 阅读 · 0 评论 -
双链表详解
在前面的文章中,我们已经学习了单链表,但是对于单链表有一个很大的问题就是,单链表只能找到后继结点,无法返回找到前驱。那么这一片文章中双链表就能很好的解决这个问题。双链表就是在单链表的基础上增加了前驱指针双链表的初始化如上述代码初始化后形成的头节点如下图:判断链表是否为空,判断头结点后继指针是否为NULL双链表的插入双链表插入新结点步骤:上面为什么要判断呢?因为如果我们是在链表的尾部插入结点的话,那么链表的最后一个元素的后继指针指向的是NULL(没有后继结点)那么就不存在后继指针的结点的前驱指针。原创 2022-07-14 17:37:24 · 2175 阅读 · 0 评论 -
单链表的建立
在上一篇文章——中我们学习了单链表的插入和删除,今天这篇文章就来讲述一下单链表的建立。今天探讨的也是基于带头结点的单链表。如果要建立一个链表我们需要先初始化由于在单链表的定义中已经比较详细的讲述了链表的初始化,故在此不再赘述初始化代码。尾插法顾名思义就是在尾部(后面)插入结点。在前几篇文章中我们讲述过如何按位序插入,在这里我们可以引用该代码如下:如果当我们一次性有多个数据想要插入时,就可以使用循环的逻辑去实现每次循环我们取一个要插入的元素e,并且调用按位序查找的函数,最后再让链表长度+1。虽然这样可以原创 2022-07-11 23:26:12 · 1906 阅读 · 0 评论 -
单链表的查找
上一篇文章中,我们详细的讲解了单链表插入和删除的操作——单链表的插入和删除。在这一小节,我们继续探讨单链表的查找。要注意的是,这篇文章的查找都是基于带头结点的链表实现。按位相信大家已经不陌生了,就是根据给定的位序进行操作。:在表L中,找到第i位的结点。其实在上篇文章中的插入和删除操作中,我们已经实现了按位查找,只需要在原来的基础上进行一些修改即可。由于注释已经将代码的各部分功能讲述的比较清晰,故不再进行大篇幅的介绍代码功能。我们可以看到其实和上一篇文章中插入和删除的查找是一样的,唯一区别就是。我们在插入和原创 2022-07-08 13:49:22 · 4033 阅读 · 0 评论 -
单链表的插入和删除
在上一篇文章(单链表的定义)中我们已经了解了单链表的含义和简单的实现。那么在这篇文章中,我们将要来讲解单链表的插入和删除操作。我们在上篇文章中已经讲解过,如果想要在表L中的第i个位置上插入指定元素e,我们需要找到第i-1的结点,在其后插入新的结点。大致步骤如下:当然当我们想在第一位插入新结点时,对于带头结点的链表的好处就是,在头部插入数据和其他任意一个位置插入数据的操作是一样的,非常方便。代码分析(在第一个位置插入结点)若 i = 1我们直接看函数的内部在进入时首先会判断,i的合法性(i小于1是不合法的原创 2022-07-07 23:42:11 · 6046 阅读 · 0 评论 -
单链表的定义
在前面的文章中,我们系统的介绍了线性表的顺序存储实现——顺序表。紧接着我们要介绍线性表的链式存储实现——链表。而链表中又有许多的链表:这一篇文章中,我们先来介绍单链表。要想知道什么是单链表,我们就可以使用我们学习过的顺序表来对比学习(对比学习有助于你的记忆,使用学习过的知识去学习未知的知识,也未尝不是一种好方法)我们都知道顺序表是申请一大块连续的区域,并且使用物理地址相邻的方法来表示逻辑上的相邻。而链表逻辑上相邻的元素在内存中可以是不相邻存放的。那么如果链表中的元素在内存中不是相邻存放的,那我们如何知道下一原创 2022-07-06 23:34:23 · 5804 阅读 · 5 评论 -
顺序表的查找
顺序表查找的代码实现和时间复杂度原创 2022-07-06 16:44:15 · 3785 阅读 · 2 评论 -
数据结构开篇(数据结构到底在学什么?)
该篇简单的介绍了数据结构的含义,让你真正能够明白数据结构到底在学到些什么!原创 2022-06-15 00:20:08 · 179 阅读 · 0 评论 -
顺序表的插入和删除
顺序表插入和删除的代码实现、时间复杂度以及优缺点等原创 2022-07-05 12:10:02 · 8745 阅读 · 2 评论 -
顺序表的定义
该篇文章系统的讲述了顺序表的定义,配合顺序表的操作文章搭配食用更佳!原创 2022-07-04 23:54:59 · 1446 阅读 · 0 评论 -
线性表的定义和基本操作
解开线性表的神秘面纱,了解其本质!原创 2022-07-02 21:29:34 · 951 阅读 · 0 评论 -
数据结构——空间复杂度
详细讲述空间复杂度的含义和计算,一篇文章搞懂空间复杂度!原创 2022-07-02 01:31:54 · 1063 阅读 · 0 评论 -
数据结构——时间复杂度
该篇文章详细地给你讲述了时间复杂度的计算和注意事项!原创 2022-06-26 21:22:14 · 440 阅读 · 0 评论 -
数据结构——算法基本概念
了解算法的基本含义,有助于后续的理解和学习!原创 2022-06-18 00:37:52 · 111 阅读 · 0 评论 -
数据结构绪论
简单的介绍数据结构的基本概念,并且教会你在后续如何学习数据结构。原创 2022-06-16 01:45:49 · 181 阅读 · 0 评论