头结点与头指针
通常用头指针来标识一个单链表,头指针为Null表示使一个空表
另外为了方便,在链表第一个节点前附加一个节点,称为头结点。不设置头结点无非是要在插入和删除的时候多一些判断
头结点可以不设置任何信息,也可以设置表长等信息

不管带不带头结点,头指针都是指向链表的第一个节点就是图中的L
单链表
只有一个头指针,头结点只有一个后继节点,尾结点只有一个前驱节点,其余节点只有有一个前驱有一个后继
头插法

尾插法

按序号查找节点

按值查找节点

指定位置i插入节点

对某一节点前插

删除节点

求表长

双链表


插入

删除

循环链表

循环双链表

静态链表

习题
总结
- 在某个节点之前插入节点可以转化为后插法,然后互相交换data。时间复杂度O(1)
- 删除某个节点可以转化为删除后继结点,然后把后继节点的data给它,时间复杂度O(1)