第1个回答 2010-11-08
//L为头结点指针;i为要删除的结点序号
void DelList(LinkList L,int i)//删除指定位置结点
{
Node *pre,*r;
int k=0;
pre=L;
if(i<1) return;
while (pre->next!=NULL&&k<i-1)
{
pre=pre->next;
k=k+1;
}
if (!(pre->next))
{
printf("删除结点位置不合法");
return;
}
else
{
r=pre->next;
pre->next=r->next;
free(r);
printf("删除成功\n");
return;
}
}