当前位置:   article > 正文

详谈线性表中带头节点与不带头结点链表_线性表带头结点与不带头结点

线性表带头结点与不带头结点

        之前给别人讲解过线性表这一数据结构,发现很多人在引入线性表的控制头后就把控制头指针与不带头节点链表的链表头指针混淆了,其实造成这一误区的根本原因还是对于带头节点链表与不带头节点链表的本质不够清楚。本文会通过线性表数据结构实现方式与线性表类的区别作为切入点,详细解释带头结点链表与不带头结点链表的区别。

        首先我们区别三个概念:线性表,链表,链表类。

        线性表是一种数据结构,表示数据之间的关系呈线性关系的一系列数据集合。这是一种抽象的概念,是用来描述数据之间的关系的。我们可以用数组的方式实现这种数据结构,也可以用我们今天讲到的链表的方式实现。

        链表是线性表的一种实现手段,具体实现方法不在本文中详细讲述,本文重点放在区分几个概念上。

        链表类包含在链表的基础上再增加一系列对于链表的属性的描述以及针对该链表的一系列操作。

        下面我们用一幅图来描述三者之间的关系:


        从中我们不难理解,我们在学习C语言时所学的链表只是一种实现手段,因此,带头结点链表与不带头节点链表的讨论应该集中在链表的实现手段上,而这两种实现手段的区别就在于该链表的头部究竟是一个指向链表节点类型的数据的一个指针(指类为结构体类型的指针类型),还是一个链表节点类型的数据(结构体类型)并用该结构体的next成员存

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号