线性表,节点插入有关问题

线性表,节点插入问题
在节点P之前插入结点s的语句为:
Q=P;
P=L;
while(p->next!=q)p=p->next;
s->next=p->next;
p->next=s;
解释原因,希望加图说明

------解决方案--------------------
遍历链表,当前指针的下一个位置就是插入节点的P位置时,先将s下一个位置的指针指向P,再把原来指向P的指针指向s,就完成了单链表的插入了。
—————— —————— ———————— ——————
| | -> | Q | -> | P | -> | |
—————— —————— ———————— ———————
^
|
要插入s的位置
—————— —————— ———————— —————— _______
| | -> | Q |-> | s | -> | P | -> | |
—————— —————— ———————— ——————— _______