单链表的基本结构
为了方便维护单链表定义了一个维护头节点结构
也可以把头节点换成一个全局变量的头结点
初始化单链表
单链表的插入【n=-1为头插 n=1为尾插 n为任意值为任意位置插入 x为要加入的值】
先进行判误
链表为空时返回 || n违反插入要求时返回 || x不是正整数
然后将要加入的值加入新节点中
如果链表为空
把要加入的值所在的结点直接加入链表
头插
先进行2在进行1:要先把头节点的指针指向新节点的,这个时候断开了首元结点和头节点的联系,导致新节点的next找不到头节点的下一个结点,无法正常进行结点的插入。所以要先进行1在进行2
尾插
要先找到最后一个节点,然后直接修改指针指向
任意位置插入
要找到要插入位置的前一个结点【箭头所指方向为要插入的位置】
按照头插的方法一样先进行1在进行2
单链表的删除
只需找到要删除的x所在结点的前一个结点,让前一个结点的指针指向要删除结点的下一个结点
单链表的遍历
代码调试
头插删除