首先要明确一点,利用头插法建立出来的单链表的输出都是逆序的(就是和你的输入顺序反着来的)然后就是要明确生成的新结点是一个个加在某个结点的前面的(这个结点不一定是头结点,下面的代码是插在p的前头),这就是头插法。至于怎么将结点一个个插入在某个结点前面呢?下面的图可以比较详细的展示出来(至少对我来说挺详细的哈)
p->next=head->next; //一开始 head->next=NULL;
head->next=p;//然后将p指针指向head结点指向的下一个结点
以下是图像展示:
然后再在头结点的后面插入新的结点:再执行一遍上面的代码, 然后head后面就连上了新的结点,p原本指向的结点前面也增加了一个新的结点,然后p就指向新加入的结点了。
以下是图像展示:
注!:要先写p->next=head->next,然后才能写head->nex