数据结构与算法基础-----链表的结点

单链表: 结点只有一个指针域的链表
数据结构与算法基础-----链表的结点
双链表: 结点有两个指针域的链表
数据结构与算法基础-----链表的结点
循环链表: 首尾相接的链表
数据结构与算法基础-----链表的结点
头指针、头节点、首元结点:
数据结构与算法基础-----链表的结点头指针:指向链表中第一个结点的指针
头结点:是在链表首元结点之前附设的一个结点,并不是链表的第一个结点
首元结点:是指链表中存储第一个数据元素的结点


一、如何表示空表?

  • 无头结点时,头指针为空表示空表。
    数据结构与算法基础-----链表的结点

  • 有头结点时,头结点的指针域为空表示空表
    数据结构与算法基础-----链表的结点
    二、在链表中设置头结点有什么好处?

  • 便于首元结点的处理
    首元结点的地址保存在头结点的指针与,所以在链表中第一个位置上的操作与其他位置相同,无需进行特殊处理。

  • 便于空表和非空表的处理
    无论链表是否为空,头指针都指向头结点,因此空表和非空表的处理也就统一了。

    三、头结点的数据域装的是什么?

  • 头结点的数据可以为空,也可存放线性表长度等附加信息,但此结点不能计入链表的长度值。


链表的特点:

  • 结点在存储器内的位置是任意的,即逻辑上相邻的数据元素在物理上并不一定相邻。
  • 访问时只能通过头指针进入来链表,并通过每个结点的指针域依次向后扫描其余结点,所以寻找第一个结点和最后一个结点的时间不等。
    注意:
    数据结构与算法基础-----链表的结点