更新时间:2022-08-25 16:37
数据结构中,尾结点是指链表中最后一个节点,即存储最后一个元素的节点,与之对应的是头结点,在链表的第一个结点之前附设一个结点。在单链表中,尾结点的指针一般为空,即没有保存其他节点的存储位置信息。但在双向链表中,尾结点一般指向链表中第一个节点。
尾结点是链表中的最后一个节点,一般尾结点的指针的指向为空。当单链表的插入方式为尾插法时,尾结点的指针指向不为空,即尾结点变为中第一个节点,链表中有个尾指针指向尾结点。
线性表是数据结构中的重要组成部分。也是程序设计中应用最广泛的一种数据结构,它的主要特点是在线性序列中的每一个结点只有1个前驱,也只有1个后继。线性表的存储方式有顺序存储方式和链式存储方式。用顺序存储方式实现线性表的存储,使得逻辑上连续的元素在物理存储上也是连续的,同时对线性表中的数据可以实现随机存取,而链式存储主要是对线性表中的相邻元素以相邻或不相邻的存储单元来保存。所以在链式存储结构中,每个结点除了保存元素信息以外,都至少还需1个指针来保存后继结点的地址。也就是说,1个结点由1个数据域和1个指针域组成。链式存储结构表示线性表中的数据元素时,要先通过1个算法来创建1个链表,称为线性链表。1个结点中只含有1个指针域的线性链表称为单链表或单向链表。而含有2个指针域的链表称为双向链表或双链表,双链表的每个结点中1个指针指向前驱结点,另一个指针指向后继结点。
在这种链表的创建方式中,首先也要掌握单向链表的特点,然后,根据单向链表的特点,从尾结点开始,逐个结点地向首结点方向链接,即每次生成的新结点,都将链接在已经存在的链表的首部,变成新的首结点。而尾结点是第一个创建的结点。因此,首先就要考虑第一个结点的指针要指向空(即尾结点的指针指向空)。整个链表的创建步骤如下:
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。