单链表<一>初始化链表和头插法

单链表是一种最简单的链表表示,也叫做线性链表。用它来表示线性表时,用指针表示结点间的逻辑关系。因此单链表的一个存储结点包含两个部分(data 和 next)。
我们需要定义结点(ListNode)类型和一个包含指向物理上头结点(first)、尾结点(last)和记录结点个数(size)的结构体(List)。
则链表结构如下图单链表<一>初始化链表和头插法
我们首先需要初始化出一个链表结构程序如下图
单链表<一>初始化链表和头插法
解释:我们需要申请一个物理上的头结点(也可不要)然后初始化管理链表的List。

头插法:我们需要考虑是否插入的是第一个逻辑头结点。
1>是,我们需要使物理头结点的next指向逻辑头结点,然后改变last的指向。
2>否,我们需要在下图的1,2号结点中插入3号结点
单链表<一>初始化链表和头插法
新插入结点的next指向first的next,first的next指向新插入结点。
然后增加size的大小。

有错误之处还请不吝赐教。