03--链式结构知识总结

317 阅读2分钟

链式结构

知识体系:

image.png

链式结构的特性:

  • 1.有唯一的第一个数据元素和最后一个数据元素;
  • 2.除第一个数据元素和最后一个数据元素外,其他数据元素都有前驱和后续;
  • 3.第一个数据元素只有后续,最后一个数据元素只有前驱。

在链表的设计中,加入一个头结点会使得实现链表的插入、删除等操作的代码更新简洁。

一、单向链表

image.png 单向链表的特性:

  • 1.有唯一的头结点和尾结点;
  • 2.除头结点和尾结点外,其他结点都有前驱和后续;
  • 3.头结点只有后续,尾结点只有前驱;
  • 4.通过当前结点可以找到下一个结点,不能找到上一个结点。

二、单向循环链表

image.png

单向循环链表的特性:

  • 1.有唯一的头结点和尾结点;
  • 2.除头结点外,其他结点都有前驱和后续;
  • 3.头结点只有后续;
  • 4.通过当前结点可以找到下一个结点,不能找到上一个结点;
  • 5.通过尾结点可以找到头结点。

三、双向链表

image.png

  • 1.有唯一的头结点和尾结点;
  • 2.除头结点和尾结点外,其他结点都有前驱和后续;
  • 3.头结点只有后续,尾结点只有前驱;
  • 4.通过当前结点可以找到前驱结点,也可以找到后续结点。

四、双向循环链表

image.png

双向循环链表的特性:

  • 1.有唯一的头结点和尾结点;
  • 2.所有结点都有前驱和后续;
  • 3.头结点的前驱结点是尾结点,尾结点的后续结点是头结点;
  • 4.通过当前结点可以找到前驱结点,也可以找到后续结点。

总结

image.png

单向链表、单向循环链表、双向链表和双向循环链表有很多共同的特性,也有自己独有的特点,在日常开发中解决问题时,可以根据实际情况选择合适的数据结构来解决问题。