尾插的逻辑为:
先判断单链表是不是空链表,
如果是,直接让头指针指向newnode即可.
如果不是,则需要先找尾,再将newnode的地址链接到尾结点的指针域....在插入时我们会遇到两种情况:
一种是pos指针指向首结点,这种情况下函数的插入逻辑是和头插相同的,因此我们可以直接调用头插函数来实现该操作....在这种情况下,如果直接执行 (*pphead)->next,会出现空指针访问,导致程序崩溃。...其中情况三是我们需要特别注意的,在找到尾后,我们要使用一个指针记录下尾结点的前一个结点的地址,因为在释放尾结点后,我们还需要将它的前一个结点的指针域置为空....我们使用free()函数将前面开辟的结点的内存逐一释放,释放完将头指针置为空即可.