已知L是带表头结点的非空单链表,且p结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列,以实现删除p结点的语句序列 
答案是(4)(7)(3)(1)(9)
(1) p->next=p->next->next; (2) p=p->next->next; 
(3) while(p->next!=q) p=p->next; (4) q=p; 
(5) while(p->next->next!=q) p=p->next;
(6) q=p->next; (7) p=L; 
(8) L=L->next; (9) free (q);


本人觉得(1)这步好象不对,应该是p->next=p->next吧,请各位详细解答一下正确答案,谢谢