头结点与头指针
通常用头指针来标识一个单链表,头指针为Null表示使一个空表
另外为了方便,在链表第一个节点前附加一个节点,称为头结点。不设置头结点无非是要在插入和删除的时候多一些判断
头结点可以不设置任何信息,也可以设置表长等信息
不管带不带头结点,头指针都是指向链表的第一个节点就是图中的L
单链表
只有一个头指针,头结点只有一个后继节点,尾结点只有一个前驱节点,其余节点只有有一个前驱有一个后继
头插法
尾插法
按序号查找节点
按值查找节点
指定位置i插入节点
对某一节点前插
删除节点
求表长
双链表
插入
删除
循环链表
循环双链表
静态链表
习题
总结
- 在某个节点之前插入节点可以转化为后插法,然后互相交换data。时间复杂度O(1)
- 删除某个节点可以转化为删除后继结点,然后把后继节点的data给它,时间复杂度O(1)