设计在无头结点的单链表中删除第i个结点

各位大哥大姐帮帮忙啦,小妹不胜感激啊!
2024-12-21 17:19:55
推荐回答(2个)
回答1:

int ListDelete(L *head,int i)
{
L *p,*s;
int j;
//检查i值的合理性
if(i<1||i>ListLength(head)) return 0;
//寻找第i-1个结点
for(p=head,j=0;jnext,j++);
s=p->next;//用s指向将要删除的结点
p->next=s->next;//删除s指针所指向的结点
free(s);
return 1;
}

回答2:

int j=0;
p=list;
while(j{
q=p;
p=p->next;
}
q->next=p->next;