双向循环链表结点删除不了
函数是:删除双向循环链表结点。程序运行到 》》》》》 printf("程序到这卡住啦!!!!\n"); 这句时就运行不下去了。请各位前辈帮忙看看。那里错了。
list * delnode(list * head,int m)//删除双向循环链表结点。如有结点数据和m相同,则删除结点。
{
list *p1,*p2;
p2 = head;
p1 = head->next;
printf("程序到这卡住啦,下面的程序好像不运行下去了!!!!\n");《《《《《《《《《《《《《《
while(p1 != head && p1->num != m );
{
p2 = p1;
printf("程序!!!!\n");
p1 = p1->next;
}
if(p1->num == m)
{
p2->next = p1->next;
p1->next->prior = p2;
free(p1);
p1 = p2->next;
}
return(head);
}