无头节点单链表和有头节点单链表

无头结点和有头节点

无头结点:第一个节点既有数据域又有指针域。
但是通过一个 pHead 指针指向和标记第一个节点
无头节点
有头节点:在第一个节点之前加入一个头节点,头节点的 data 域可以设置表长等相关信息,但也可以不设置。头节点的指针域指向第一个节点。

在这里插入图片描述

引入头节点的优势

  1. 对第一个位置元素的操作(添加、删除)更加方便

若使用头结点,则第1个位置的插入和删除都是对p—>next进行操作,而不用动p本身,而且减少了算法分支(即if else分支)

  1. 统一空表和非空表的处理

使用头节点,指针域都是指向第一个节点,对空表和非空表操作都是一致的

猜你喜欢

转载自blog.csdn.net/CrazyQiQi/article/details/100848513