您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页初识单链表/单链表头指针的创建

初识单链表/单链表头指针的创建

来源:二三娱乐
链表的概念及结构
        概念: 链表 是一种 物理存储结构上非连续、非顺序的存储结构。链表 不像 数组中的元素那样,每个数据的的地址是连续的。
    数组 的物理存储结构

 

  链表的物理存储结构:

 如何找到链表中的各个数据:

       上图说明数据元素是分散在内存的各个位置的。因此也就无法在通过顺序存储的方式去表示各个元素之间的关系了。那现在就有问题了,所谓的数据结构不仅要有数据还要求数据之间要能联系起来,现在如何来关联各个元素之间的关系呢

    链表这种数据结构中每一个数据元素的结构如下:

 

       在链表这种数据结构中,称每一个数据元素为一个节点。那我们来看一下这一个个节点是如何关联起来形成一个线性结构的: 

 

       每一个节点存储自身的数据,并且连接自己的下一个节点。一个节点扣着一个节点,跟我们现实中的锁链非常的相似,因此我们将这种数据结构称之为链表 。

单链表的操作
       现在链表这种数据结构已经构建出来了。数据可以存储了,各个数据之间也联系起来了。那么现在的问题就是如何使用这种数据结构,让他存储我们想要的数据,并能为我们所用。

还是从常规的操作入手:插入,删除,查找

创建

 

       说到创建链表,其实是非常有意思的。上面我们已经知道,链表中的每一个节点都是可以动态创建的。因此当没有数据的时候,要创建一个链表是怎么创建呢?其实所谓的创建链表就是创建一个指向链表节点类型的指针,这个指针我们称它为链表的“头指针”,这个头指针有一个非常重要的特性,那就是这个指针永远指向这个链表的第一个节点。

不要小瞧这个头指针,这个头指针是非常重要的,绝对不能丢失。这边可以仔细思考一下为什么这个头指针不能丢失?

因此需要有一个指针始终指向第一个节点。并且这个指针不能丢失,因为从上面可以得知,如果这个指针丢失了,那么这个链表就永远都找不到了。

因此创建一个链表,其实就是创建一个指针。因为这个链表一开始没有任何节点因此,让这个指针指向null 表示当前链表没有任何数据元素。如下:

                                                             

 

用代码创建如下: 

typedef struct SListNode
{
	SLTDateType data;
	struct SListNode* next;
}SListNode;
int main(){
    SListNode*plist=NULL;
    return NULL;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务