70,035
社区成员
发帖
与我相关
我的任务
分享
p=getnode(t,i); //getnode()为得到删除的i节点的前一个节点
if(p==NULL)
printf("wei zi error a");
else
{
p->prio->next=p->next;
p->next->prio=p->prio;
free(p); //运行完此句后,错误。其中i节点信息已删除,错误如下图
}if(p==NULL)
printf("wei zi error a");
else
{
if(p->prio) //避免操作首结点之前
p->prio->next=p->next;
else
t = p->next;//删除首结点还要把首指针要后移
if(p->next) //避免操作尾结点之后
p->next->prio=p->prio;
free(p);
}
不能修改,发错了只得再回复一个,修改了点,删首结点时的问题
if(p==NULL)
printf("wei zi error a");
else
{
if(p->prio) p->prio->next=p->next; //避免操作首结点
if(p->next) p->next->prio=p->prio; //避免操作尾结点
free(p);
}